DISTINCT 語法讓重複紀錄只輸出一筆。
mysql> select distinct name,foot
-> from animals
-> order by name;
name foot
cat 4
chicken 2
dog 4
mysql>
SELECT ... GROUP BY ... 語法可以自行組合重複紀錄判斷欄位。
mysql> select name,foot from animals
-> group by name,foot;
name foot
cat 4
chicken 2
dog 4
mysql>
DISTINCT 與 SELECT ... GROUP BY ... 語法之差異,先輸出目前資料表的內容有三筆紀錄。
mysql> select * from animals; id name foot 1 dog 4 15 cat 4 16 chicken 2
DISTINCT 語法指定「組合的欄位」只輸出一筆,也輸出「組合的欄位」,無法輸出其他欄位。
mysql> select distinct foot from animals; foot 4 2
DISTINCT name,foot 表示欄位 name+foot 組合不重複,只輸出欄位 name 及 foot。
mysql> select distinct name,foot from animals; name foot dog 4 cat 4 chicken 2
SELECT ... GROUP BY ... 語法,select * 輸出所有欄位內容,group by foot 指定欄位 foot 成群組,也就是只輸出一筆。
mysql> select * from animals group by foot; id name foot 16 chicken 2 1 dog 4