MySQL中的DISTINCT命令可以用于去重,可以去重一個字段,也可以去重多個字段。
當(dāng)我們想要去重多個字段時,可以使用以下語法:
SELECT DISTINCT field1, field2, field3, ... FROM table_name;
其中,field1, field2, field3表示要去重的字段,table_name表示要查詢的表名。
舉個例子:
SELECT DISTINCT name, age, gender FROM students;
上面的語句會返回一個包含去重后的name、age、gender字段的結(jié)果集。
需要注意的是,當(dāng)我們?nèi)ブ囟鄠€字段時,如果多行數(shù)據(jù)中有任意一個字段的值不同,這多行數(shù)據(jù)就不會被去重。
例如,假設(shè)我們有以下students表:
id name age gender 1 Alice 18 Female 2 Bob 20 Male 3 Alice 18 Female 4 David 19 Male
執(zhí)行以下查詢:
SELECT DISTINCT name, age FROM students;
結(jié)果如下:
name age Alice 18 Bob 20 David 19
可以看到,第1條和第3條數(shù)據(jù)雖然name和age這兩個字段的值相同,但是因為其他字段不同,所以沒有被去重。
除了使用DISTINCT命令外,我們還可以使用GROUP BY語句來實現(xiàn)去重多個字段的目的。
例子:
SELECT name, age, gender FROM students GROUP BY name, age, gender;
上面的語句會按照name、age、gender這三個字段進行分組,然后返回每組數(shù)據(jù)中第一個出現(xiàn)的記錄。
上一篇mysql dist
下一篇mysql diver