我已經建立了這個查詢:
SELECT table1.id, b.sum FROM table1 CROSS JOIN (SELECT SUM(id) sum FROM table1) b ORDER BY id DESC;
但是這樣會產生如下結果:
id | 總和 |
---|---|
3 | 6 |
2 | 6 |
1 | 6 |
Sum值只印一次。你能幫我解決嗎。
但是我想要這個結果:
id | 總和 |
---|---|
3 | 6 |
2 | |
1 |
P粉6654279882023-09-15 13:01:31
這應該可以解決:
select id, CASE WHEN id=(max(id) over()) THEN sum(id) over (order by id) END as 'sum' from cte1 order by id desc;
更多資訊請參閱:視窗函數概念與語法