SQLite DISTINCT
子句与SELECT
语句一起使用,用来消除所有重复记录,并仅获取唯一记录。
当在表中有多个重复记录时可使用它来过滤重复的记录。
语法:
SELECT DISTINCT column1, column2,.....columnN FROM table_name WHERE [condition]
示例:
假设有一个名为student
的表,具有以下数据:
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
关键字。 它将显示重复的记录:
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>
如上面结果中,有几个名字是重复的,比如:Linsu
, Minsu
和 Maxsu
都是有一个以上的名字。
现在,使用DISTINCT
关键字从STUDENT
表中选择NAME
字段,并过滤掉重复的名字。
SELECT DISTINCT NAME FROM STUDENT;
执行上面语句,得到以下结果 -
作为一个练习:可以自行在adress
上使用DISTINCT
关键字过滤重复数据。