Heim > Fragen und Antworten > Hauptteil
Ich habe diese Abfrage erstellt:
SELECT table1.id, b.sum FROM table1 CROSS JOIN (SELECT SUM(id) sum FROM table1) b ORDER BY id DESC;
Aber dies führt zu folgenden Ergebnissen:
id | Summe |
---|---|
3 | 6 |
2 | 6 |
1 | 6 |
Summenwert wird nur einmal gedruckt. Können Sie mir helfen, es zu lösen?
Aber ich möchte dieses Ergebnis:
id | Summe |
---|---|
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;
更多信息请参见:窗口函数概念和语法