SQLite DISTINCT子句與SELECT語句一起使用,用來消除所有重復(fù)記錄,并僅獲取唯一記錄。
當在表中有多個重復(fù)記錄時可使用它來過濾重復(fù)的記錄。
語法:
SELECT DISTINCT column1, column2,.....columnN
FROM table_name
WHERE [condition]
示例:
假設(shè)有一個名為student的表,具有以下數(shù)據(jù):
sqlite> select * from student;
1|Maxsu|27|Shengzhen|20000.0
2|Minsu|25|Beijing|15000.0
3|Avgsu|23|Shanghai|2000.0
4|Linsu|25|Guangzhou|65000.0
5|Sqlsu|26|Haikou|25000.0
6|Javasu|21|Shengzhen|18000.0
7|Linsu|27|Haikou|10000.0
8|Minsu|23|Guangzhou|5000.0
9|Maxsu|23|Shenzhen|9000.0
sqlite>
首先,從student表中選擇NAME,但是先不使用DISTINCT關(guān)鍵字。 它將顯示重復(fù)的記錄:
sqlite> select id, name from student;
1|Maxsu
2|Minsu
3|Avgsu
4|Linsu
5|Sqlsu
6|Javasu
7|Linsu
8|Minsu
9|Maxsu
sqlite>
如上面結(jié)果中,有幾個名字是重復(fù)的,比如:Linsu, Minsu 和 Maxsu 都是有一個以上的名字。
現(xiàn)在,使用DISTINCT關(guān)鍵字從STUDENT表中選擇NAME字段,并過濾掉重復(fù)的名字。
SELECT DISTINCT NAME FROM STUDENT;
執(zhí)行上面語句,得到以下結(jié)果 -

作為一個練習:可以自行在adress上使用DISTINCT關(guān)鍵字過濾重復(fù)數(shù)據(jù)。