我已经创建了这个查询:
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;
更多信息请参见:窗口函数概念和语法