跳到主要内容

SQL SELECT DISTINCT语句

提示
  1. 唯一值检索SELECT DISTINCT语句用于从数据库表中提取不重复的值。
  2. 基本语法:使用SELECT DISTINCT时,语法为SELECT DISTINCT column1, column2 ... FROM table;,可用于单列或多列。
  3. 与其他子句结合DISTINCT可以与COUNT()函数结合使用来计算唯一值的数量,也可以与GROUP BYORDER BY子句联合使用以组织和排序唯一值。

SQL 的 SELECT DISTINCT 语句用于从数据库表中检索不同的值。

示例

SELECT DISTINCT age
FROM Customers;

这里,SQL 命令只选择了 Customers 表中年龄的唯一值。

SQL DISTINCT 语法

SQL DISTINCT 语句的语法是:

SELECT DISTINCT column1, column2 ...
FROM table;

这里,

  • column1, column2, ... 是表的列
  • table 是我们从中检索不同列的表名称

例如,

SELECT DISTINCT country
FROM Customers;

这里,SQL 命令从 Customers 表中选择了唯一的国家。

在 SQL 中使用 SELECT 的 DISTINCT 子句仅返回唯一行

使用多个列的 DISTINCT

我们也可以将 SELECT DISTINCT 与多个列一起使用。

例如,

SELECT DISTINCT country, first_name
FROM Customers;

这里,SQL 命令选择了 countryfirst_name 组合是唯一的行。

带有两个列的 DISTINCT 子句通过结合两行返回唯一数据

DISTINCTCOUNT

如果我们需要计算唯一行的数量,我们可以将 COUNT() 函数与 DISTINCT 一起使用。

SELECT COUNT(DISTINCT country)
FROM Customers;

这里,SQL 命令返回了唯一国家的数量。

DISTINCT 和 COUNT 一起使用以计算唯一值的数量

要了解更多,请访问 SQL COUNT()

更多 SQL DISTINCT 示例

DISTINCTGROUP BY

让我们看一个例子,

-- 使用 distinct
SELECT DISTINCT country
FROM Customers;

-- 使用 group by
SELECT country
FROM Customers
GROUP BY country;

这里,两个 SQL 命令都类似,从 Customers 表中返回唯一的国家。

要了解更多,请访问 SQL GROUP BY

DISTINCTORDER BY

让我们看一个例子,

-- 使用 order by
SELECT DISTINCT age
FROM Customers
ORDER BY age DESC;

这里,SQL 命令选择了唯一的年龄,并按降序从 Customers 表中排序。

要了解更多,请访问 SQL ORDER BY