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

在MySQL中查找重复值

在MySQL中查找重复值

慕斯709654 2019-06-25 15:54:47
在MySQL中查找重复值我有一个包含varchar列的表,我希望在这个列中找到所有具有重复值的记录。我能用来查找副本的最好的查询是什么?
查看完整描述

3 回答

?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

SELECT带着GROUP BY条款。比方说名字,姓名要在以下内容中查找重复项的列:

SELECT name, COUNT(*) c FROM table GROUP BY name HAVING c > 1;

这将返回一个结果。名字,姓名值出现在第一列中,并计算该值在第二列中出现的次数。


查看完整回答
反对 回复 2019-06-25
?
MM们

TA贡献1886条经验 获得超2个赞

SELECT varchar_colFROM tableGROUP BY varchar_colHAVING COUNT(*) > 1;


查看完整回答
反对 回复 2019-06-25
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

SELECT  *FROM    mytable mtoWHERE   EXISTS
        (
        SELECT  1
        FROM    mytable mti        WHERE   mti.varchar_column = mto.varchar_column
        LIMIT 1, 1
        )

此查询返回完整的记录,而不仅仅是不同的记录。varchar_column他的。

此查询不使用COUNT(*)..如果有很多副本,COUNT(*)很贵,你不需要COUNT(*),您只需要知道是否有两行具有相同的值。

有索引varchar_column当然,会大大加快这个查询的速度。


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

添加回答

举报

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