DISTINCT用于去除查询重复数据,确保结果唯一;可对单列如SELECT DISTINCT city FROM users去重,也可多列组合去重如SELECT DISTINCT city, job FROM users;常与COUNT结合统计唯一值数量,如SELECT COUNT(DISTINCT city);注意其作用于所有选中字段,NULL视为相同值,大数据量下建议建索引以提升性能。
DISTINCT 是 MySQL 中用于去除查询结果中重复数据的关键字,常用于 SELECT 语句中,确保返回的结果集不包含重复的行。它通过比较指定列或多个列的组合值来判断是否重复,并只保留唯一值。
例如,有一个用户表 users,其中 city 字段有重复的城市名:
SELECT DISTINCT city FROM users;这条语句会返回所有不同的城市名称,每个城市只出现一次。
比如
查询用户的地区和职业组合,避免重复:
SELECT DISTINCT city, job FROM users;只有当
city 和 job 的组合完全相同时,才会被视为重复并被去除。
统计不同城市的数量:
SELECT COUNT(DISTINCT city) FROM users;这将返回去重后的城市总数,比直接使用 COUNT(*) 更准确。