我已经创建了这个查询:
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 |
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
这应该可以解决:
select id, CASE WHEN id=(max(id) over()) THEN sum(id) over (order by id) END as 'sum' from cte1 order by id desc;更多信息请参见:窗口函数概念和语法