如何在数据库查找到多列同时重复的数据?

问题

最近工作需要使用数据库查询重复的数据记录,核心数据难点是多列同时重复。

image

思路

看了不少网上资料,分组查询是主流。
最终确定思路是以两个字段同时分组把重复项查找出来,先用ORDER BY进行分组,再用COUNT(字段)>1进行筛选。
这种方法能够找到那些数据是发生了重复,但是需要知道重复了多少次,所以会在SELECT里加上数量的统计。

查询语句

1
SELECT * ,COUNT(列名) FROM 表名 GROUP BY  列名1,列名2 having count(列名1)> 1 AND COUNT(列名2)>1 ORDER BY 列名;

总结

SQL查询语句可能只有几种,但是如何组合起来满足查询需要,这还是要一个思考和积累的过程,