我有一个要求,在我需要做的数据汇总的日期范围作为输入提供。更具体地说:如果我的数据看起来像:
Input:
Id|amount|date
1 |10 |2016-01-01
2 |20 |2016-01-02
3 |20 |2016-01-03
4 |20 |2016-09-25
5 |20 |2016-09-26
6 |20 |2016-09-28
如果我想要9月份的总结,那么我需要计算4个区间的记录数,这4个区间是:
当前日期,即九月的每一天。
周开始日期(根据当前日期为一周的星期日)到当前日期,例如,如果当前日期为2016-09-28,则周开始日期为2016-09-25,记录计数介于2016-09-25到2016-09-28之间。
月开始日期到当前日期,即从2016-09-01到当前日期。
年份开始日期到当前日期,即从2016-01-01到当前日期的记录计数。
所以我的输出应该有一个记录,每个月的每一天有4列(在本例中,月份是九月),类似于
Output:
Current_Date|Current_date_count|Week_To_Date_Count|Month_to_date_Count|Year_to_date_count
2016-09-25 |1 |1 |1 |4
2016-09-26 |1 |2 |3 |5
2016-09-28 |1 |3 |3 |6
重要提示:我只能传递2个变量,即范围开始日期和范围结束日期。休息计算需要是动态的。
提前谢谢
1条答案
按热度按时间pkmbmrz71#
您可以在年加入,然后分别测试每个条件(使用
sum(if())
):