在使用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...