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

统计分组数据中特定值(A)向其他值的转换次数

按ID分组统计"A"跳转为其他值的次数

现有包含ID和Values字段的表格,需按ID分组统计值"A"跳转为其他值的次数,具体示例如下:

原始数据

IDValues
1A
1A
1A
1B
1A
1B
1B
1C
1C
1C
1A
2A
2A
2B
2A
2B
2C
2B

预期中间结果

IDValuesDesired Output
1A0
1A0
1A1
1B0
1A1
1B0
1B0
1C0
1C0
1C0
1A0
2A0
2A1
2B0
2A1
2B0
2C0
2B0

最终统计结果

IDNumber of Transitions
12
22

实现方案(SQL示例)

通过窗口函数获取上一行的Values值,标记符合条件的跳转后分组求和即可:

WITH transition_marks AS (
    SELECT 
        ID,
        Values,
        CASE 
            WHEN LAG(Values) OVER (PARTITION BY ID ORDER BY (SELECT NULL)) = 'A' 
                 AND Values != 'A' THEN 1 
            ELSE 0 
        END AS transition_flag
    FROM your_table
)
SELECT 
    ID,
    SUM(transition_flag) AS "Number of Transitions"
FROM transition_marks
GROUP BY ID;

说明

  • LAG(Values) OVER (PARTITION BY ID ORDER BY (SELECT NULL)):按ID分组,获取当前行的上一行Values值(若数据有明确排序字段,建议替换(SELECT NULL)为实际排序字段,保证顺序准确)
  • CASE语句:标记「上一行是A且当前行不是A」的跳转场景,符合则记为1,否则为0
  • 最后按ID分组求和,得到每个ID的跳转总次数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 13:45:30