查询一张表中是否有重复数据行

查询一张表中是否有重复数据行

业务情景: 查询一张表中是重复数据;或者统计有几个列是否存在重复。

查询sql

按照某些字段进行分组统计,例如,可以按照主键等进行分组,就能统计是否有重复行。语句如下:

select A,B from table1 group by A,B having count(*) > 1;

案例分析

分析 kx_kq_channelsupplier 表中是否存在channelid有多个isdefault=1 的行

SELECT channelid, isdefault FROM kx_kq_channelsupplier GROUP BY channelid, isdefault HAVING COUNT (*) > 1 AND isdefault = 1;
channelidisdefault
9763476098558238721
9756505186743132161
9756505182968258561

结果:确实存在三条这样的记录;这样的记录在数据库中就是可能是脏数据,从而影响程序的正确性。

    原文作者:一碗面
    原文地址: https://blog.csdn.net/qq_31156277/article/details/80093610
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞