搜索

首页  >  问答  >  正文

简单的SQL查询:一次求和和相同列的值

我已经创建了这个查询:

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粉685757239P粉685757239429 天前604

全部回复(1)我来回复

  • P粉665427988

    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;

    更多信息请参见:窗口函数概念和语法

    回复
    0
  • 取消回复