为了账号安全,请及时绑定邮箱和手机立即绑定

在SQL表中查找重复值

在SQL表中查找重复值

拉风的咖菲猫 2019-06-06 14:43:00
在SQL表中查找重复值很容易找到duplicates只有一个领域:SELECT name, COUNT(email) FROM usersGROUP BY emailHAVING COUNT(email) > 1所以如果我们有一张桌子ID   NAME   EMAIL1    John   asd@asd.com2    Sam    asd@asd.com3    Tom    asd@asd.com4    Bob     bob@asd.com5    Tom    asd@asd.com这个查询将给我们约翰,山姆,汤姆因为他们都有相同的email.但是,我想要的是用相同的email和name.也就是说,我想要“汤姆”,“汤姆”。我需要这样做的原因是:我犯了一个错误,并允许插入副本。name和email价值。现在我需要删除/更改复制件,所以我需要找到,发现他们先来。
查看完整描述

3 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

SELECT
    name, email, COUNT(*)FROM
    usersGROUP BY
    name, emailHAVING 
    COUNT(*) > 1

只需对两列进行分组。

注意:较早的ANSI标准是将组中的所有非聚合列按,但这与“功能依赖”:

在关系数据库理论中,函数依赖是数据库关系中两组属性之间的约束。换句话说,函数依赖是描述关系中属性之间关系的约束。

支持不一致:


查看完整回答
反对 回复 2019-06-06
?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

试试这个:

SELECT name, emailFROM usersGROUP BY name, emailHAVING ( COUNT(*) > 1 )


查看完整回答
反对 回复 2019-06-06
  • 3 回答
  • 0 关注
  • 609 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信