SQL SELECT DISTINCT 语句
SELECT DISTINCT
语句在 SQL 中用于从指定的列中返回唯一不同的值。当你想要从一列或多列中获取不重复的值时,这个语句非常有用。在处理包含重复数据的列时,DISTINCT
关键字可以帮助你过滤掉这些重复项,只保留唯一的记录。
语法
SELECT DISTINCT column1, column2, ...
FROM table_name;
column1, column2, ...
:你想要查询的唯一字段名称,可以指定多个字段。table_name
:你想要查询的表名称。
参数说明
- 如果你不指定字段名称,
SELECT DISTINCT
会选择所有字段,但这通常不是推荐的做法,因为它可能会降低查询效率。 DISTINCT
关键字确保了查询结果中的每个记录在指定的列上都是唯一的。
代码示例
假设我们使用的是上文提到的 "Websites" 表,该表包含了不同的网站信息,包括它们的名称、URL、Alexa 排名、国家等。
示例 1:选择 "country" 列的唯一不同的值
如果你想要获取 "Websites" 表中所有不同的国家名称,你可以使用以下 SQL 语句:
SELECT DISTINCT country FROM Websites;
输出结果将是:
+---------+
| country |
+---------+
| USA |
| CN |
+---------+
这个查询返回了表中所有不重复的国家名称。
示例 2:选择多列的唯一不同的值
如果你想要获取 "Websites" 表中每个国家的唯一网站名称,你可以使用以下 SQL 语句:
SELECT DISTINCT country, name FROM Websites;
输出结果将是:
+---------+--------------+
| country | name |
+---------+--------------+
| USA | Google |
| CN | 淘宝 |
| CN | aliy教程 |
| CN | 微博 |
| USA | Facebook |
+---------+--------------+
这个查询返回了每个国家的唯一网站名称,即使同一个国家有多个网站,也只会列出一次。