SQL趋势随着时间的推移

时间:2011-01-17 23:18:43

标签: sql django django-models

我有一个包含两列的表,日期和分数。我想找到类似的东西:

  • 7天前的总结
  • 截至6天前的总和
  • ...
  • 截至今天的总和

可以找到个别的东西
select sum(score) from my_table
where date <= DateAdd("d", -1, getdate) 

但我希望不必每次都运行新的查询。

(我使用的是django,但纯SQL解决方案也很好。)

1 个答案:

答案 0 :(得分:0)

使用案例陈述对您关心的每个值求和。

SELECT 
(CASE WHEN date <= DateAdd("d", -1, getdate) THEN score ELSE 0 END) as sum1,
(CASE WHEN date <= DateAdd("d", -2, getdate) THEN score ELSE 0 END) as sum2, etc.