一、基本概念
DISTINCT 是一种关键字,用于从结果集中去除相同的行。通常,当我们进行 SELECT 查询时,MySQL 返回所有符合 WHERE 子句的行,包括重复的。使用 DISTINCT 可以确保仅返回不同的行。
二、语法使用
在 MySQL 查询中,可以使用如下语法来使用 DISTINCT:
SELECT DISTINCT column1, column2, ... FROM table_name WHERE condition;
其中,column1、column2 等参数表示要选择的列,table_name 是表名,condition 是 WHERE 子句。
例子:
SELECT DISTINCT country FROM customers;
这个例子选择了 customers 表中所有不同的 country 列的值。如果不使用 DISTINCT,相同的 country 会显示多个。
三、多字段 DISTINCT
除了上面的单列 DISTINCT 查询外,我们也可以在一个查询中使用多个列来获取不同的值。
例如,下面的语句将选择不同的 city 和 country 组合:
SELECT DISTINCT city, country FROM customers;
注意:在使用多列 DISTINCT 时,结果将仅包括不同的元组。即,在多列中所有列的值都相同的元组只会被显示一次。
四、具体例子
以下示例显示如何使用 DISTINCT 语句和 WHERE 子句从表中选择唯一值。
例子1:SELECT DISTINCT
SELECT DISTINCT prod_category FROM products WHERE prod_category != 'Hardware';
该语句选择与 "Hardware" 不同的 prod_category 值。 它从 products 表选择具有不同值的 prod_category 值,其中 prod_category 不等于 "Hardware"。
例子2:SELECT COUNT 和 SELECT DISTINCT
SELECT COUNT (DISTINCT prod_category) FROM products;
该语句选择具有唯一值的 prod_category 的个数。语句从 products 表选择 prod_category 列中唯一值的数量,并且将其作为一个整数返回。
五、总结
在 MySQL 查询中使用 DISTINCT 可以确保返回不同的行或元组。当我们需要从表中选择唯一值时,DISTINCT 可以帮助我们快速实现。我们可以使用单列 DISTINCT,也可以使用多列 DISTINCT。