萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> sql server教程 >> 根據某一字段去重後獲取多個字段內容的sql語句

根據某一字段去重後獲取多個字段內容的sql語句

今天遇到一個問題,客戶要求根據id字段去重後返回所有字段的內容。本來想用多重查詢然後用in來完成嵌套,但是考慮效率問題還是用distinct和min + group by吧。

原數據表內容:

id name

1   a

2  b

3   c

4   c

5  b

用戶需要獲取以下數據結果集:

id name

1   a

2  b

3   c

有兩種方式可以達到效果:

一、使用distinct:select *, count(distinct name) from table group by name

二、使用min + group by:select name,min(id) id from table group by name

以上兩種方法請根據情況選用。因為group by需要枚舉幾乎所有的字段,所以在字段特別多的時候不建議使用。distinct方法相對簡便,但是會多出一個字段,不是很干淨。

關鍵詞:查詢  字段  去重  distinct  group by 

copyright © 萬盛學電腦網 all rights reserved