mysql當中distinct的理解和使用

2021-10-02 20:33:32 字數 828 閱讀 1641

在使用mysql時,有時需要查詢出某個欄位不重複的記錄,這時可以使用mysql提供的distinct這個關鍵字來過濾重複的記錄,但是實際中我們往往用distinct來返回不重複欄位的條數(count(distinct id)),其原因是distinct只能返回他的目標字段,而無法返回其他字段,例如有如下表user:

用distinct來返回不重複的使用者名稱:select distinct name from user;,結果為:

這樣只把不重複的使用者名稱查詢出來了,但是使用者的id,並沒有被查詢出來:select distinct name,id from

user;,這樣的結果為:

distinct name,id 這樣的mysql 會認為要過濾掉name和id兩個欄位都重複的記錄,如果sql這樣寫:select

id,distinct name from user,這樣mysql會報錯,因為distinct必須放在要查詢欄位的開頭。

所以一般distinct用來查詢不重覆記錄的條數。

如果要查詢不重複的記錄,有時候可以用group by :

select id,name from user group by name;

mysql中去重 distinct 用法

在使用mysql時,有時需要查詢出某個欄位不重複的記錄,這時可以使用mysql提供的distinct這個關鍵字來過濾重複的記錄,但是實際中我們往往用distinct來返回不重複欄位的條數 count distinct id 其原因是distinct只能返回他的目標字段,而無法返回其他字段,例如有如下...

mysql中去重 distinct 用法

在使用mysql時,有時需要查詢出某個欄位不重複的記錄,這時可以使用mysql提供的distinct這個關鍵字來過濾重複的記錄,但是實際中我們往往用distinct來返回不重複欄位的條數 count distinct id 其原因是distinct只能返回他的目標字段,而無法返回其他字段,例如有如下...

mysql中去重 distinct 用法

用distinct來返回不重複的使用者名稱 select distinct name from user 結果為 這樣只把不重複的使用者名稱查詢出來了,但是使用者的id,並沒有被查詢出來 select distinct name,id from user 這樣的結果為 distinct name,i...