sql中DISTINCT的用法

2021-07-03 15:50:31 字數 779 閱讀 1748

表a:

示例1

select distinct name from a
執行後結果如下:

示例2

select distinct name, id from a
執行後結果如下:

實際上是根據「name+id」來去重,distinct同時作用在了name和id上,這種方式access和sql server同時支援。

示例3:統計

select count(distinct name) from a;	  --表中name去重後的數目, sql server支援,而access不支援

select count(distinct name, id) from a; --sql server和access都不支援

示例4
select id, distinct name from a;   --會提示錯誤,因為distinct必須放在開頭
其他

distinct語句中select顯示的字段只能是distinct指定的字段,其他欄位是不可能出現的。例如,假如表a有「備註」列,如果想獲取distinc name,以及對應的「備註」字段,想直接通過distinct是不可能實現的。

但可以通過其他方法實現關於sql server將一列的多行內容拼接成一行的問題討論

SQL中distinct的用法

表a 表b select distinct name from a執行後結果如下 示例2.1 select distinct name,id from a執行後結果如下 實際上是根據name和id兩個欄位來去重的,這種方式access和sql server同時支援。示例2.2 select dist...

SQL中distinct的用法

在使用mysql時,有時需要查詢出某個欄位不重複的記錄,雖然mysql提供有distinct這個關鍵字來過濾掉多餘的重覆記錄只保留一條,但往往只 用它來返回不重覆記錄的條數,而不是用它來返回不重記錄的所有值。其原因是distinct只能返回它的目標字段,而無法返回其它字段,這個問題讓我困擾很久,用d...

SQL中distinct的用法

表a 表b select distinct name from a執行後結果如下 示例2.1 select distinct name,id from a執行後結果如下 實際上是根據name和id兩個欄位來去重的,這種方式access和sql server同時支援。示例2.2 select dist...