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

PieCloudDB Database:按ID分组并基于唯一Record值求和Quantity列

按ID分组对唯一Record对应的Quantity求和

问题数据

原始表格:

IDQuantityRecord
1118ae8
1111aac
1118ae8
11128acg
1119bbb
1283pie
1283pie

需求:按ID分组,仅对唯一的Record值对应的Quantity列求和,预期结果:

IDQuantity
11146
1283

解决方案

SQL实现

先通过子查询对ID和Record去重,再分组求和:

SELECT 
    ID,
    SUM(Quantity) AS Quantity
FROM (
    SELECT DISTINCT 
        ID,
        Quantity,
        Record
    FROM your_table
) AS unique_records
GROUP BY ID;

逻辑说明:

  • 子查询用DISTINCT过滤掉ID+Record重复的行,确保每个Record在对应ID下只保留一条
  • 外层查询按ID聚合,对去重后的Quantity求和得到最终结果

Python Pandas实现

利用drop_duplicates去重后分组求和:

import pandas as pd

# 构造数据(实际场景可替换为读取文件)
df = pd.DataFrame({
    'ID': [111, 111, 111, 111, 111, 128, 128],
    'Quantity': [8, 1, 8, 28, 9, 3, 3],
    'Record': ['ae8', 'aac', 'ae8', 'acg', 'bbb', 'pie', 'pie']
})

# 去重+分组求和
result_df = df.drop_duplicates(subset=['ID', 'Record']).groupby('ID')['Quantity'].sum().reset_index()

print(result_df)

执行后输出:

ID  Quantity
0  111        46
1  128         3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 00:21:07