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

SQL按Sector分组计算Val平均值乘2并附加到原行的实现问题

SQL实现方案

你可以使用SQL窗口函数实现需求,无需额外关联子查询,写法简洁高效:

SELECT 
    Sector,
    Val,
    ROUND(AVG(Val) OVER (PARTITION BY Sector) * 2, 2) AS AvTot
FROM [Consumption] upc
WHERE upc.PeriodStart IN (
    '2020-12-07 17:00:00',
    '2021-01-07 17:30:00',
    '2021-02-10 18:00:00'
)

逻辑说明

  • AVG(Val) OVER (PARTITION BY Sector)是窗口函数语法,作用是按Sector字段分组计算每组Val的平均值,同时保留所有原始行,不会像普通GROUP BY那样压缩行数
  • 乘以2后用ROUND(..., 2)控制保留2位小数,匹配你预期的输出精度
  • WHERE条件将原多个OR判断改为IN写法,功能完全等价,仅更易读,你也可以保留原有OR写法不影响结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 11:24:04