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

用DuckDB SQL提取超内存数据中多字段重复但指定字段不同的行

DuckDB 超大规模数据集重复键行提取SQL实现

功能适配说明

  • 完全对齐原dupKeyEx()函数的匹配规则,支持处理超出内存容量的数据集
  • 提取规则严格匹配需求:
    • 按指定的多个字段(示例为NAME、DOB)分组
    • 分组内指定标识字段(示例为ID)的不同值数量≥2
    • 返回符合条件分组的所有原始行,保留全部原有字段

通用SQL实现(兼容所有DuckDB版本)

-- 可根据实际业务调整对应参数
SELECT * 
FROM (
    SELECT 
        *,
        COUNT(DISTINCT ID) OVER (PARTITION BY NAME, DOB) AS distinct_id_count
    FROM your_table_name
) t
WHERE distinct_id_count >= 2;

参数替换说明:

  1. 将your_table_name替换为实际导入DuckDB的表名
  2. PARTITION BY后可替换为任意2个及以上需要组合匹配的重复判定字段
  3. COUNT(DISTINCT)内替换为需要校验值不同的标识字段即可

DuckDB简化高性能实现(支持QUALIFY语法的新版本)

无需嵌套子查询,执行效率更高,内存占用更低:

SELECT *
FROM your_table_name
QUALIFY COUNT(DISTINCT ID) OVER (PARTITION BY NAME, DOB) >= 2;

该方案完全依托DuckDB原生的向量化执行与外存计算能力,无需将全表载入内存即可处理TB级大规模数据集,性能表现适配超大数据量场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 08:09:01