gpt4 book ai didi

sql - 如何在单个查询中获取一天的总和和最后三天的总和?

转载 作者:行者123 更新时间:2023-11-29 11:40:20 25 4
gpt4 key购买 nike

假设我有一个这样的统计表:

date | stats
-------------
10/1 | 2
10/1 | 3
10/1 | 2
10/2 | 1
10/3 | 3
10/3 | 2
10/4 | 1
10/4 | 1

我想要的是三列:

  1. 日期
  2. 日期的总和(统计)
  3. 日期前最后三天的总和(统计数据)

我知道我可以使用窗口函数来处理第 2 列,但我不能同时处理第 2 列和第 3 列。

我应该怎么做才能存档?

谢谢!

最佳答案

您可以使用聚合和窗口函数:

select date, sum(stats) as day_stats,
sum(sum(stats)) over (order by date rows between 3 preceding and 1 preceding) as day_stats_3
from t
group by date
order by date;

关于sql - 如何在单个查询中获取一天的总和和最后三天的总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35987348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com