在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。
DISTINCT 关键词用于返回唯一不同的值。
id | name | url | alexa | country----+----------------------+----------------------------------------------------+-------+------------
1 | Google | https://www.google.com/ | 1 | USA
3 | CaiNiao | http://www.runoob.com/ | 4689 | CN
4 | WeiBo | http://www.weibo.com/ | 20 | CN
5 | FaceBook | http://www.facebook.com/ | 3 | USA
2 | TaoBao | https://www.taobao.com/ | 13 | CN
(5 rows)
A=> select country from Websites;
country
------------
CN
USA
CN
CN
USA
(5 rows)
A=> select distinct country from Websites;
country
------------
USA
CN
(2 rows)
第一个语句是选出所有列的国家名,会出现五个值
第二个语句是去除重复的值,只有两个值。
A=> select distinct id from Websites;
id
----
4
5
2
1
3
(5 rows)
A=> select distinct name from Websites;
name
----------------------
CaiNiao
WeiBo
TaoBao
Google
FaceBook
(5 rows)
A=> select distinct url from Websites;
url
----------------------------------------------------
https://www.google.com/
http://www.runoob.com/
http://www.facebook.com/
https://www.taobao.com/
http://www.weibo.com/
(5 rows)
A=> select distinct alexa from Websites;
alexa
-------
4689
20
13
1
3
(5 rows)
上面几个语句是因为没有重复的值,所以每个值都会被显示出来。