You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何检索customer表中name与mobile重复出现的记录?

解决方案:检索重复的name与mobile组合记录

针对你的需求,这里提供两种实用的SQL查询方案,可根据你使用的数据库版本选择:

方法1:使用窗口函数(推荐,适合支持窗口函数的数据库)

这种方式无需额外关联,代码简洁高效:

SELECT cif, name, mobile
FROM (
    SELECT 
        cif, 
        name, 
        mobile,
        -- 按name和mobile分组统计出现次数
        COUNT(*) OVER (PARTITION BY name, mobile) AS occurrence_count
    FROM customer
) temp
WHERE occurrence_count > 1
ORDER BY name, mobile, cif;

方法2:使用GROUP BY + JOIN(兼容低版本数据库)

如果你的数据库不支持窗口函数(比如MySQL 5.x),可以用这种方式:

SELECT c.cif, c.name, c.mobile
FROM customer c
INNER JOIN (
    -- 先筛选出重复的name+mobile组合
    SELECT name, mobile
    FROM customer
    GROUP BY name, mobile
    HAVING COUNT(*) > 1
) duplicate_pairs 
    ON c.name = duplicate_pairs.name 
    AND c.mobile = duplicate_pairs.mobile
ORDER BY c.name, c.mobile, cif;

结果说明

两种方法都会返回以下记录:

CIFNAMEMOBILE
121ANT789
122ANT789
125BEE123
126BEE123
123ENT789
124ENT789

内容的提问来源于stack exchange,提问作者Bala S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 17:50:33