MySQL DISTINCT 子句

2025年11月08日 | 阅读 3 分钟

引言

在本文中,我们将通过各种工作示例详细阐述 MySQL DISTINCT 子句的概念。

MySQL DISTINCT 子句是什么意思?

MySQL DISTINCT 子句用于从表中删除重复的记录,并仅检索唯一记录。DISTINCT 子句仅与 SELECT 语句一起使用。

语法

参数

表达式:指定要检索的列或计算。

表:指定从中检索记录的表的名称。FROM 子句中必须至少列出一个表。

WHERE 条件:这是可选的。它指定必须满足才能选择记录的条件。

注意

  • 如果仅在 DISTINCT 子句中放置一个表达式,查询将返回该表达式的唯一值。
  • 如果要在 DISTINCT 子句中放置多个表达式,查询将检索列出的表达式的唯一组合。
  • 在 MySQL 中,DISTINCT 子句不会忽略 NULL 值。因此,如果您在 SQL 语句中使用 DISTINCT 子句,则结果集将包含 NULL 作为唯一值。

带单个表达式的 MySQL DISTINCT 子句

如果使用单个表达式,MySQL DISTINCT 子句将返回一个带有唯一记录(无重复记录)的单个字段。

查看表格

MySQL distinct clause 1

使用以下查询

解释:执行上述语句后,它将使用 distinct 子句检索“officers”表的唯一信息。

输出:以下是此示例的输出。

MySQL distinct clause 2

带多个表达式的 MySQL DISTINCT 子句

如果在 DISTINCT 子句中使用多个表达式,则 MySQL DISTINCT 子句将删除 SELECT 语句中多于一个字段的重复项。

使用以下查询

解释:执行上述语句后,它将使用 distinct 子句检索“officers”表的 officer_name、address 等唯一信息。

输出:以下是此示例的输出。

Officer_idOfficer_name地址
1AjeetMau
2Deepika勒克瑙
3VimalFaizabad

关于 MySQL Distinct 子句的常见问题解答

1. 在 MySQL Select 语句中添加 distinct 子句时,一些关键点是什么?

答案:在 MySQL select 语句中添加 distinct 子句时,以下是一些关键点。

  • 它会删除表中的重复值。
  • 尤其是在大型数据集上,它可以帮助提高性能。
  • 仅在需要唯一性的选定列上使用 DISTINCT 子句,以避免不必要的开销。
  • ORDER BY 子句结合使用时,它可以维护结果中的特定顺序。

2. 如何在 MySQL Select 语句中使用 count 函数与 distinct 子句?

答案:以 Teacher 表为例

TIDT_Name资格验证 (Qualification)薪金
T101AnshuBCA25000
T 201HarshitaMCA35000
T 301拉曼 (Raman)Mtech45000
T 401RubyBCA22000
T 501SumanMCA32000

例如

解释:执行上述语句后,它将检索行数

例如,使用 distinct 子句的“officers”表的 officer_name、address。

输出:以下是此示例的输出。

5


下一主题MySQL FROM 子句