需求說明
1粟矿、我需要查詢某列不重復(fù)的數(shù)據(jù)
2、并且顯示不重復(fù)數(shù)據(jù)的所有項
sql語句如下
select * from data group by address;
如果是僅僅查詢某列不重復(fù)數(shù)據(jù)尚骄,只需要一列
效果如下
sql語句
select DISTINCT address from data
這里有一個非常非常需要注意的地方:
??????? SELECT DISTINCT [字段名]后面不能再跟其他的字段,否則檢索出來的記錄仍然會含有重復(fù)項沿后;
??????? 錯誤寫法:
????????????SELECT DISTINCT [字段名] 闯参,[其他字段名] FROM [表名] WHERE [檢索條件字句]
如果我們的記錄集里還需要有其他字段值,那怎么辦呢?
實際上,我們完全可以用另一種辦法來解決問題;只是需要用到子查詢而已!
使用GROUP BY 分組
有一點需要注意:
使用帶有GROUP BY字句的查詢語句時,在SELECT列表指定的列要么是GROUP BY 指定的列,要么包含聚合組函數(shù)
所以用這樣一句SQL就可以去掉重復(fù)項了:
select * from msg group by terminal_id;
這樣就得到我們想要的結(jié)果集了: