使用Distinct關鍵字
Distinct關鍵字主要用來在SELECT查詢記錄中根據某指定字段的值去除重復記錄
SELECT DISTINCT [字段名] FROM [表名] WHERE [檢索條件字句]
所以用這樣一句SQL就可以去掉重復項了:
SELECT DISTINCT (B) FROM TEST
或者 select distinct username from msg;
但是:
這里有一個非常非常需要注意的地方:
SELECT DISTINCT [字段名]后面不能再跟其他的字段,否則檢索出來的記錄仍然會含有重復項;
錯誤寫法:
SELECT DISTINCT [字段名] ,[其他字段名] FROM [表名] WHERE [檢索條件字句]
實際上,我們上面SQL語句結果集里就只有B字段;(一般情況下,這種結果應該是很難滿足需求的)
如果我們的記錄集里還需要有其他字段值,那怎么辦呢?
實際上,我們完全可以用另一種辦法來解決問題;只是需要用到子查詢而已!
使用GROUP BY 分組
有一點需要注意:
使用帶有GROUP BY字句的查詢語句時,在SELECT列表指定的列要么是GROUP BY 指定的列,要么包含聚合組函數
所以用這樣一句SQL就可以去掉重復項了:
select * from msg group by terminal_id;
這樣就得到我們想要的結果集了:
---------------------
作者:愛佳男士
來源:CSDN
原文:https://blog.csdn.net/cao478208248/article/details/27319263
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!