本包目录(311 条)

主键重复定位 SQL

定位重复不止要计数,还要看清重复行内容:把重复组与明细行一起打印,比较加载时间、来源标记等字段,能快速判断是重跑叠加还是关联放大。

步骤找重复键 → 展开明细 → 对比差异字段
线索字段加载时间、来源系统、批次号
常见原因重跑未覆盖、双写、关联放大、去重键缺失
修复按分区覆盖重写并补自动化校验

重复键展开明细

重复键展开明细
WITH dup AS (
  SELECT order_id FROM dwd_trade_order_detail_di
  WHERE dt = '2026-10-11'
  GROUP BY order_id HAVING COUNT(1) > 1
)
SELECT d.order_id, d.item_no, d.pay_amount, d.load_time, d.src_sys
FROM dwd_trade_order_detail_di d
JOIN dup ON d.order_id = dup.order_id
WHERE d.dt = '2026-10-11'
ORDER BY d.order_id, d.load_time;
同时检查多条业务键组合(订单号加明细号)比只查单列更接近真实粒度。

易错点

  • 只看计数不展开明细,无法判断重复来源
  • 把批量重跑当成偶发问题,未加校验导致反复出现

数据来源与参考

  • 行业数据质量稽核实践(重复数据定位)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌