当前位置: 首页 > 面试题库 >

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

艾泰
2023-03-14
问题内容

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

login_id | email
---------|---------------------
john     | john123@hotmail.com
peter    | peter456@gmail.com
johnny   | john123@hotmail.com
...

有些人使用了不同的login_id,但是使用了相同的电子邮件地址,因此在此列上未设置唯一约束。现在,我需要查找这些行,并查看是否应将其删除。

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


问题答案:

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

SELECT email,
       count(*) AS c
FROM TABLE
GROUP BY email
HAVING c > 1
ORDER BY c DESC

如果要完整行:

select * from table where email in (
    select email from table
    group by email having count(*) > 1
)


 类似资料:
  • 问题内容: 我试图找到具有重复值,但仅基于选定的列数,而不是单个列或整个行的行。例如,如果我的表如下所示: 我的问题是: 查找行的“地址和状态”字段与另一行的“地址和状态”字段匹配的行的所有ID。 该查询的答案将是: 有任何想法吗? 意见建议: 如何从单个表中选择同一行中的多列值 问题答案: 请尝试以下方法:

  • 问题内容: 我有这样的桌子 我想获得具有相同发明编号的订单数量总和 那就是想要这样的结果 我们如何编写mysql查询 问题答案: 利用聚合函数并根据进行分组。 GROUP BY子句

  • 问题内容: 我有多列值相等。我想查找具有3列以上具有相等值的行ID。 表结构就像- 问题答案: 数据并检查是否相等,请尝试此技巧。

  • 问题内容: 让我们考虑下表- 我是一个SQL新手,但是如何返回同时包含ID 2和ID 4的分数?因此,由于ID 2和ID 4中均包含该字符,因此应该返回100 问题答案: 这是“组内集”查询的示例。我建议使用该子句进行聚合,因为这是最灵活的方法。 这是在按分数汇总。然后,子句()的第一部分是计算每个分数有多少个“ 2”。第二个是计算多少个“ 4”。仅返回分数为“ 2”和“ 4”的分数。

  • 我需要提取和迁移值从一个表到另一个。源表包含一个特定的生效日期的sumarated值。如果一个值被更改,如果组件值上的数据从此生效日期开始有效,则会写入新行。 我现在需要将这些数据迁移到这样的新表中。我们的目标是,选择给定月份的数据,结果就是给定该月份的有效数据。 每行表示在一个月内有效的组件的值。我现在通过将其设置为参数来运行每个有效月份的插入更新。我插入值变化作为新的行到表中,通过使用唯一的键

  • 问题内容: 我的表是: 我想列出一组具有相同疾病的患者。pid和did分别是患者和疾病表中的主键,并且是has_disease表中的外键。 样本数据: 耐心 疾病 has_disease 以上数据的答案是因为它们具有完全相同的疾病1和3,即疟疾和病毒热。我想知道如何在mysql中实现这一点。 。 问题答案: 该查询返回给我们患者及其疾病。 通过完整的剂量列表比较2组患者,并将pid保留为相同的剂量