用于获取定期摘要报告的SQL查询

时间:2017-11-16 09:59:47

标签: postgresql

考虑以下表格

ID  |  Name |  Date | Amount 
----------
1   |  XYZ|  01 Jan 17 | 40

2   |  ABC |  12 Feb 17 | 130

3   |  DEF| 15 Jan 17 | 70

4   |  XYZ| 14 March 17 | 50 

我需要得到的结果,总量小于10天<查询参数&&查询参数10到30天,查询参数超过30天以及名称详细信息,如定期输出我们如何获得此报告。

我怎么能得到这个。 请提供一些信息以获取此信息。

1 个答案:

答案 0 :(得分:0)

我不是100%肯定你在问什么 - 特别是当你说“10天”时。什么10天?在下面的示例中,我将其视为从今天开始的时间,但如果您可以澄清,或许我们可以改进示例。

select
  sum (case when current_date - date < 10 then amount else 0 end) as "< 10",
  sum (case when current_date - date between 10 and 30 then amount else 0 end) as "10-30",
  sum (case when current_date - date > 30 then amount else 0 end) as "> 30"
from
  mytable

如果你从今天起并不是故意的话,这很容易参数化。