MySQL Distinct 去掉查询结果重复记录
封面图
•
2025-12-16
•
MySQL
211
0
0
0
在 MySQL 中,`DISTINCT` 是一个用于去除查询结果中重复记录的关键字。它通常用在 `SELECT` 语句中,用来返回唯一值(即去重后的结果)。 --- ### ✅ 基本语法: ```sql SELECT DISTINCT column_name FROM table_name; ``` --- ### 📌 示例说明 假设你有一个名为 `users` 的表,结构如下: | id | name | email | |----|--------|----------------| | 1 | Alice | alice@example.com | | 2 | Bob | bob@example.com | | 3 | Alice | alice@example.com | #### 1. 查询所有不重复的姓名 ```sql SELECT DISTINCT name FROM users; ``` **结果:** | name | |--------| | Alice | | Bob | > 注意:虽然 `Alice` 出现了两次,但只显示一次。 --- #### 2. 查询不重复的邮箱 ```sql SELECT DISTINCT email FROM users; ``` **结果:** | email | |-------------------| | alice@example.com | | bob@example.com | --- #### 3. 查询多个字段的组合去重 如果你想根据多个字段去重,可以使用: ```sql SELECT DISTINCT name, email FROM users; ``` 这会返回所有 **name + email** 组合不重复的行。 --- ### ⚠️ 注意事项 - `DISTINCT` 只能用于查询结果中的列,不能用于 `WHERE` 子句。 - 如果你需要对多个字段进行去重,必须将这些字段都放在 `DISTINCT` 后面。 - 使用 `DISTINCT` 时,MySQL 会自动排序并去重,所以它可能会影响性能(尤其是大数据量时)。 --- ### 🔁 和 `GROUP BY` 的区别 - `DISTINCT` 更适合用于**简单去重**。 - `GROUP BY` 更适合用于**分组统计**(如 COUNT、SUM 等聚合函数)。 例如: ```sql SELECT name, COUNT(*) AS count FROM users GROUP BY name; ``` --- 如果你有具体的 SQL 语句或数据场景,我可以帮你进一步优化或解释。欢迎继续提问!
上一篇:
MySQL主键与索引的区别和联系
下一篇:
用源码安装mysql
标题录入,一次不能超过6条
留言
评论