mysql 数据查重与查重分页

发布时间:2023年12月29日

起因是公司的crm录入不规范,有重复数据。

之后考虑到需要手动处理,首先需要自动找出重复的数据

查重要求:

存在多个不允许重复的字段,任一字段重复,则判断为同一个客户。划分到同一重复组中。

查重sql如下

SELECT 
    CONCAT('组', dense_rank() OVER (ORDER BY group_key)) AS group_info,
    id, name, tel
FROM (
    SELECT 
        id, name, tel,
        CONCAT_WS('-', 
            IF(name IS NULL, '', name),  
            IF(tel IS NULL, '', '1')
        ) AS group_key,
        COUNT(*) OVER (PARTITION BY CONCAT_WS('-', 
            IF(name IS NULL, '', name),  
            IF(tel IS NULL, '', '1')
        )) AS group_count
    FROM lqf_cst_customer
) AS subquery
WHERE group_count > 1
ORDER BY group_key

通过上述sql可以获得一个查重的sql。

那么接下来的问题是如果重复数据大,我们是需要一个分页的。首先我们需要知道重复了多少组。

用以下sql获取:

SELECT COUNT(*) AS total_
文章来源:https://blog.csdn.net/u014685642/article/details/135284871
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。