SQL Select Distinct

创建于 2024-12-02 / 37
字体: [默认] [大] [更大]

SQL SELECT DISTINCT 语句

SELECT DISTINCT 语句用于返回唯一不同的值。

在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。

SELECT DISTINCT 语法

SELECT DISTINCT column1, column2, ...
FROM table_name;

演示数据库

以下是从 Northwind 示例数据库的 "客户(Customers)" 表中查询的内容:

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4

Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

不使用 SELECT DISTINCT 实例

以下 SQL 语句从 "Customers" 表的 "Country" 列中选择所有(包括重复项)值:

实例

SELECT Country FROM Customers; 亲自试一试 »

现在,让我们在上面的 SELECT 语句中使用 DISTINCT 关键字并查看结果。


Advertisement

-->

使用 SELECT DISTINCT 实例

下面的 SQL 语句仅选择 "Customers" 表 "Country" 列中的不同值:

实例

SELECT DISTINCT Country FROM Customers; 亲自试一试 »

以下 SQL 语句列出了不同(不同)客户国家/地区的数量:

实例

SELECT COUNT(DISTINCT Country) FROM Customers; 亲自试一试 »

注意:上面的例子在 Firefox 中不起作用!因为 Microsoft Access 数据库中不支持 COUNT(DISTINCT column_name)。在我们的示例中,Firefox 使用的是 Microsoft Access。

以下是 MS Access 的解决方法:

实例

SELECT Count(*) AS DistinctCountries
FROM (SELECT DISTINCT Country FROM Customers); 亲自试一试 »

学习训练

练习题:

Customers 表的 Country 列中选择所有不同的值。

  Country 
FROM Customers;

开始练习



0 人点赞过