sql server sum汇总偷懒不用group by
2024-07-29 本文已影响0人
吉凶以情迁
因为select的字段比较多,但是实际上只要分组 标题 1 标题2。
select column1,column2,column3,column4,column5,,SUM(qty) as total_qty ** group by column1,column1,column3,column4
改为
select column1,column2,column3,column4,SUM(qty) OVER (PARTITION BY column1, column2) as total_qty
方法2
用with CTE 表达式
wITH TotalQty AS (
SELECT
id,
SUM(qty) as total_qty
FROM
table
GROUP BY
id
)
SELECT
t1.column1,
t1.column2,
t2.total_qty
FROM
table1 t1
INNER JOIN
TotalQty t2
ON
t1.id = t2.id;
方法3 子查询或CROSS APPLY 子查询,CROSS APPLY用法看我上一篇文章