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

如何按条件分组并统计满足总金额要求的id数量

按ID分组统计总价达标ID数量说明

示例数据

id  article   price
1   grapes    2
1   oranges   1
1   bananas   0
2   bananas   0
3   grapes    2
3   oranges   1
4   bananas   0
4   peaches   0

需求描述

先按id字段对数据分组,计算每个id对应的price字段总和,再统计总和大于等于1美元的id总数量。
参考示例数据的计算结果为2,符合要求的id为1和3:

  • id为1的总价为2+1+0=3美元,满足条件
  • id为2仅包含价格为0的香蕉,总价为0,不计入统计
  • id为3的总价为2+1=3美元,满足条件
  • id为4的香蕉和桃子价格均为0,总价为0,不计入统计

常见实现方案

SQL 写法

将代码中的your_table_name替换为实际表名即可:

SELECT COUNT(t.id) AS qualified_id_count
FROM (
    SELECT id, SUM(price) AS total_price
    FROM your_table_name
    GROUP BY id
    HAVING SUM(price) >= 1
) t

Python Pandas 写法

import pandas as pd

# 构造示例数据,实际使用时替换为自己的数据源即可
df = pd.DataFrame(
    data=[
        [1, "grapes", 2], [1, "oranges", 1], [1, "bananas", 0],
        [2, "bananas", 0],
        [3, "grapes", 2], [3, "oranges", 1],
        [4, "bananas", 0], [4, "peaches", 0]
    ],
    columns=["id", "article", "price"]
)

# 计算符合条件的id数量
qualified_count = df.groupby("id")["price"].sum().loc[lambda x: x >= 1].count()
print(qualified_count)  # 输出结果:2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 16:09:02