DISTINCT 是 MySQL 中用于去除查询结果中重复数据的关键字,常用于
SELECT语句中,确保返回的结果集不包含重复的行。它通过比较指定列或多个列的组合值来判断是否重复,并只保留唯一值。
单列去重(基本用法)
当你只需要对某一列进行去重时,可以直接在列名前加上 DISTINCT。例如,有一个用户表
users,其中
city字段有重复的城市名:
SELECT DISTINCT city FROM users;这条语句会返回所有不同的城市名称,每个城市只出现一次。
多列去重(组合去重)
DISTINCT 也可以作用于多个字段,表示“这些字段的组合值”必须唯一。比如查询用户的地区和职业组合,避免重复:
SELECT DISTINCT city, job FROM users;只有当
city和
job的组合完全相同时,才会被视为重复并被去除。
与聚合函数结合使用
DISTINCT 常与 COUNT、SUM 等聚合函数配合,统计唯一值的数量。统计不同城市的数量:
SELECT COUNT(DISTINCT city) FROM users;这将返回去重后的城市总数,比直接使用 COUNT(*) 更准确。
