mysql如何使用distinct去重

mysql如何使用distinct去重

在 MySQL 中,DISTINCT 关键字用于从查询结果中去除重复的行,只返回唯一的数据。它通常用在 SELECT 语句中,作用于一个或多个字段。

1. 对单个字段去重

如果你只想获取某个字段的唯一值,可以在字段前加上 DISTINCT。

语法:

SELECT DISTINCT 字段名 FROM 表名;

示例:
假设有一张名为

users

的表,其中

city

字段有重复数据:

SELECT DISTINCT city FROM users;

这将返回所有不重复的城市名称。

2. 对多个字段组合去重

DISTINCT 也可以作用于多个字段,表示去除这些字段组合后的重复记录。

语法:

SELECT DISTINCT 字段1, 字段2 FROM 表名;

示例:
查询不同城市和性别的组合:

mysql如何使用distinct去重

ModelArts

华为ai开发平台ModelArts,面向开发者的一站式AI开发平台

mysql如何使用distinct去重153

查看详情 mysql如何使用distinct去重

SELECT DISTINCT city, gender FROM users;

只有当 city 和 gender 都相同时,才会被视为重复并被去除。

3. 结合 WHERE 条件使用

你可以将 DISTINCT 和 WHERE 一起使用,先筛选再去重。

示例:

SELECT DISTINCT city FROM users WHERE age > 25;

获取年龄大于 25 的用户所在的所有不重复城市。

4. 注意事项

– DISTINCT 会作用于其后所有的字段组合,不是单独对某一个字段生效。
– NULL 值也会被当作一个有效值参与去重,多个 NULL 会被视为相同。
– 在性能上,DISTINCT 可能会影响查询速度,尤其是数据量大时,建议在相关字段上建立索引。
– 如果需要统计去重后的数量,可以结合 COUNT 使用:
SELECT COUNT(DISTINCT city) FROM users;

这将返回不重复城市的总数。

基本上就这些。DISTINCT 是一个简单但非常实用的功能,适合快速提取唯一值。使用时注意字段选择和性能影响即可。

相关标签:

mysql mysql NULL count select

上一篇
下一篇