这很好用:
SUM(Revenue) OVER (PARTITION BY Year) AS TotalRevenue
我该如何做到这一点?
SUM(Revenue) - SUM(Cost) OVER (PARTITION BY Year) AS TotalProfit
换句话说,它可以让两个或多个窗口函数进行交互吗?
答案 0 :(得分:2)
这是一种方式:
SUM(Revenue - Cost) OVER (PARTITION BY Year) AS TotalProfit
或者:
SUM(Revenue) OVER (PARTITION BY YEAR) - SUM(Cost) OVER (PARTITION BY YEAR) as TotalProfit
这些不完全相同 - 由于NULL
值,两者都可能会关闭。可能最安全的方法是:
SUM(COALESCE(Revenue, 0) - COALESCE(Cost, 0)) OVER (PARTITION BY Year) AS TotalProfit