很多時候資料庫查出來的資料會出現重複的情況。
不過這些情況用distinct就可以解決。
表a:id
name1a
2b3c
4b1a
表b:province
city
河北省石家莊市
河北省石家莊市
select distinct name from a執行之後的結果:
nameab
c例項1:
select distinct id,name from a執行之後的結果如下:
idname1a
2b3c
4b例項2:
select distinct province,city from b執行之後的結果:
province
city
河北省石家莊市
河北省石家莊市
由此可見,distinct去重是根據每一列進行去重,作用於province 和 city 兩個字段,不是province 和 city 兩列「字串拼接」後再去重的。
distinct必須寫在字段前面。
select id,name distinct from a這樣寫就會報錯。
count去重和distinct去重
有兩種去重方法 1 select count distinct id from a 這個是將所有值都放入到記憶體中,key為列值,通過hash算出有多少個key就是多少行。2 select count 1 from select 1 from a group by id a,這個是通過group b...
Oracle的去重函式 distinct
sql中distinct的用法 表a 表b select distinct name from a執行後結果如下 示例2.1 select distinct name,id from a執行後結果如下 實際上是根據name和id兩個欄位來去重的,這種方式access和sql server同時支援。示...
去重是distinct還是group by?
distinct簡單來說就是用來去重的,而group by的設計目的則是用來聚合統計的,兩者在能夠實現的功能上有些相同之處,但應該仔細區分,因為用錯場景的話,效率相差可以倍計。單純的去重操作使用distinct,速度是快於group by的。distinct distinct支援單列 多列的去重方式...