您的位置:

MySQL多字段查询:如何使用 DISTINCT 去重

一、基本概念

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。