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用法看我上一篇文章

上一篇 下一篇

猜你喜欢

热点阅读