代码之家  ›  专栏  ›  技术社区  ›  Liondancer

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

  •  0
  • Liondancer  · 技术社区  · 6 年前

    我每天都有要按周分组的行。从日期开始,我要从 11/27/2017 + 7 days (一周中的毫秒)到某个日期。我如何在亚马逊红移中做到这一点?

    预期输出:

                 counts
    2017-11-27     100
    2017-12-04     200
    2017-12-11     300
    2017-12-18     400
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   John Rotenstein    6 年前

    您可以使用 date_trunc() 函数将日期转换为一周的开始(星期一)。如果您需要按不同的日期分组(如周日),则需要抵消日期,然后执行 date\u 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)