首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >查找MySQL中某列上具有相同值的行

查找MySQL中某列上具有相同值的行
EN

Stack Overflow用户
提问于 2009-11-24 06:33:19
回答 9查看 491.4K关注 0票数 244

在成员表中,某些行的email列具有相同的值。

代码语言:javascript
复制
login_id | email
---------|---------------------
john     | john123@hotmail.com
peter    | peter456@gmail.com
johnny   | john123@hotmail.com
...

有些人使用不同的login_id,但是相同的电子邮件地址,没有对此列设置唯一的约束。现在我需要找到这些行,看看是否应该删除它们。

我应该使用什么SQL语句来查找这些行?(MySQL 5)

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2009-11-24 06:38:58

此查询将为您提供电子邮件地址列表以及它们的使用次数,其中最常使用的地址在前面。

代码语言:javascript
复制
SELECT email,
       count(*) AS c
FROM TABLE
GROUP BY email
HAVING c > 1
ORDER BY c DESC

如果您想要完整的行:

代码语言:javascript
复制
select * from table where email in (
    select email from table
    group by email having count(*) > 1
)
票数 386
EN

Stack Overflow用户

发布于 2009-11-24 06:36:11

代码语言:javascript
复制
select email from mytable group by email having count(*) >1
票数 64
EN

Stack Overflow用户

发布于 2009-11-24 06:36:35

以下是查找用于多个login_id email的查询

代码语言:javascript
复制
SELECT email
FROM table
GROUP BY email
HAVING count(*) > 1

您将需要第二个(嵌套的)查询来获取emaillogin_id列表。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1786533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档