MySQL 常见子句:去重 Distinct
在 MySQL 中, DISTINCT 子句与 SELECT 语句一起使用,可以得到去重后的查询结果。DISTINCT 只能和 SELECT 一起使用。
语法:
SELECT DISTINCT expressions
FROM tables
[WHERE conditions];
参数#
expressions: 指定要检索的列
tables: 指定要获取数据的数据表名称。
WHERE conditions: 可选项。查询数据的过滤条件。
注意:
- 如果在 DISTINCT 子句仅指明一个列,那么查询结果仅包括这一列对应的唯一值。
- 如果在 DISTINCT 子句仅指明多个列,那么查询结果将包含指定列对应值组成的唯一记录的列表。
- 在 MySQL 中,DISTINCT 子句不会忽略 NULL 值。如果你在 SQL 语句中使用 DISTINCT 子句,那么查询结果中 NULL 值也是需要去重的。
MySQL DISTINCT 单表达式子句#
如果使用单个表达式,那么 MySQL DISTINCT 子句将返回一个具有唯一记录的字段 (没有重复记录)。
见下表:
使用以下查询:
SELECT DISTINCT address
FROM officers;
MySQL DISTINCT 多个表达式的子句#
如果你使用多个表达式和 DISTINCT 子句,那么 MySQL DISTINCT 子句会从你的 SELECT 语句的多个字段中删除重复的语句。
使用以下查询:
SELECT DISTINCT officer_name, address
FROM officers;