MySQL數(shù)據(jù)庫(kù)中,我們經(jīng)常需要查詢只出現(xiàn)一次的記錄,這個(gè)時(shí)候就需要用到查詢語(yǔ)句中的DISTINCT關(guān)鍵字。DISTINCT可以篩選掉重復(fù)的記錄,只返回不重復(fù)的記錄。
SELECT DISTINCT 列名 FROM 表名
其中,列名是需要查詢的列,表名是需要查詢的表。DISTINCT關(guān)鍵字放在列名之前,表示只查詢不重復(fù)的記錄。
舉個(gè)例子:
假設(shè)有一個(gè)students表: id name gender age 1 Tom Male 18 2 Lily Female 19 3 Jack Male 18 4 Lucy Female 20 5 Bob Male 20 現(xiàn)在我們需要查詢students表中不重復(fù)的年齡。 SELECT DISTINCT age FROM students 執(zhí)行以上查詢語(yǔ)句,將會(huì)得到如下結(jié)果: age 18 19 20 其中,查詢結(jié)果只出現(xiàn)了一次的記錄是18、19、20,這就是DISTINCT關(guān)鍵字的作用。需要注意的是,DISTINCT關(guān)鍵字對(duì)查詢的所有列進(jìn)行去重,所以對(duì)于多個(gè)列的查詢,需要把所有需要去重的列放在DISTINCT關(guān)鍵字的前面。
SELECT DISTINCT 列名1, 列名2, ... FROM 表名比如:SELECT DISTINCT gender, age FROM students以上查詢語(yǔ)句中,我們需要查詢students表中不重復(fù)的性別和年齡,執(zhí)行查詢后會(huì)得到:
gender age Male 18 Female 19 Female 20 Male 20以上結(jié)果中,性別和年齡都不重復(fù)的記錄只有Male 18,F(xiàn)emale 19。