繁体   English   中英

如何在 MySQL 中 groupby 之后为每个唯一的列值保留一行?

[英]How to keep one row for each unique column value after groupby in MySQL?

我有一列 id 和一列电子邮件。 我想按 id 分组,只保留具有不同电子邮件的行(可以是任何行)。 例如:

+-------------------------------+
|    Id          Email          |
+-------------------------------+
|    1         email1           |
|    1         email2           |
|    1         email1           |
|    2         email3           |
|    2         email3           |
|    3         email4           |
|    3         email4           |
+-------------------------------+

最终输出将是:

+---------------------------+
| Id            Email       |
+---------------------------+
| 1        email1           |
| 1        email2           |
| 2        email3           |
| 3        email4           |
+---------------------------+

这个想法就像

SELECT * FROM table
GROUP BY Id
HAVING DISTINCT(email)

但语法不正确。

任何帮助,将不胜感激。 谢谢!

对于这个数据集,一个简单的select distinct应该做:

select distinct id, email from mytable

这只是从结果集中删除重复的行,这似乎是您要查找的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM