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

如何在Azure Stream Analytics中按分组计算累计和?

在Azure Stream Analytics中按分组计算累计和的实现方法

可以通过Azure Stream Analytics支持的开窗函数实现按分组计算累计和,具体使用SUM() OVER()子句来完成。

输入数据示例

TMS                       product      amount
2023-06-01 10:00:00          P1          10
2023-06-01 10:00:20          P2          40
2023-06-01 10:00:25          P2          30
2023-06-01 10:01:05          P1          20
2023-06-01 10:01:20          P2          60
2023-06-01 10:01:25          P1          70

期望输出示例

TMS                       product      cum_sum
2023-06-01 10:00:00          P1          10
2023-06-01 10:00:20          P2          40
2023-06-01 10:00:25          P2          70
2023-06-01 10:01:05          P1          30
2023-06-01 10:01:20          P2          140
2023-06-01 10:01:25          P1          100

实现查询语句

SELECT
    TMS,
    product,
    SUM(amount) OVER (
        PARTITION BY product
        ORDER BY TMS
        ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
    ) AS cum_sum
INTO
    [YourOutputSink]
FROM
    [YourInputSource]

语句说明

  • PARTITION BY product:将数据按product字段分组,确保累计和仅在同一产品组内计算。
  • ORDER BY TMS:指定每组内数据按时间戳TMS升序排列,保证累计和按时间顺序累加。
  • ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW:定义计算范围为当前组的第一条记录到当前记录,这是SUM() OVER()的默认范围,可省略,但显式写出更清晰。

执行该查询后,即可得到按产品分组、按时间顺序计算的累计和结果,与期望输出一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 19:52:13