1、注意事項
使用distinct命令時需要放在查詢條件的開頭,否則會報錯。如果需要查詢的項目很多但只針對某一個字段使用distinct的,則可以利用內容拼接的方式來實現。
--基本查詢
SELECT DISTINCT `name` from users;
--顯示結果
name
張三
李四
王五
趙六
--多表查詢
SELECT DISTINCT name,age FROM users;
--顯示結果(此處distinct的條件是name和age兩個字段,也就是只有兩個都重復了才進行篩選。)
--此處去除了李四 | 21
name | age
張三 | 20
李四 | 21
王五 | 21
趙六 | 20
張三 | 22
--在count中使用distinct
SELECT count(DISTINCT name,age) FROM users;
--顯示結果
5
--如果只處理name字段,但是查詢顯示name和age,則建議使用GROUP BY命令
--(單用distinct不好實現)
SELECT name, age FROM users GROUP BY name;
--顯示結果
name | age
張三 | 20
李四 | 21
王五 | 21
趙六 | 20
--!!注意:如果SQL語句還有limit,order by等條件,必須放在group by后面。