从开始日期开始按周分组每日项目

时间:2018-04-13 04:21:23

标签: sql amazon-web-services amazon-redshift

我每天都会按行分组。从日期开始,我想从11/27/2017 + 7 days(一周中的毫秒)到特定日期进行分组。我如何在Amazon Redshift中执行此操作?

预期产出:

             counts
2017-11-27     100
2017-12-04     200
2017-12-11     300
2017-12-18     400

1 个答案:

答案 0 :(得分:1)

您可以使用date_trunc()功能将日期转换为一周的开始(星期一)。如果您需要在不同的一天(例如星期日)进行分组,则需要偏移日期,然后执行date_trunc(),然后再将该日期重新添加。

以下是DATE_TRUNC Function - Amazon Redshift的示例:

select date_trunc('week', saletime), sum(pricepaid) from sales where
saletime like '2008-09%' group by date_trunc('week', saletime) order by 1;
date_trunc  |    sum
------------+------------
2008-09-01  | 2474899.00
2008-09-08  | 2412354.00
2008-09-15  | 2364707.00
2008-09-22  | 2359351.00
2008-09-29  |  705249.00
(5 rows)