在MySQL中查找重复值

在MySQL中查找重复值

我有一个包含varchar列的表,我希望在这个列中找到所有具有重复值的记录。我能用来查找副本的最好的查询是什么?



慕斯709654
浏览 296回答 3
3回答

慕尼黑的夜晚无繁华

做SELECT带着GROUP BY条款。比方说名字,姓名要在以下内容中查找重复项的列:SELECT name, COUNT(*) c FROM table GROUP BY name HAVING c > 1;这将返回一个结果。名字,姓名值出现在第一列中,并计算该值在第二列中出现的次数。

MM们

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

慕哥9229398

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当然,会大大加快这个查询的速度。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL