我正在使用标准SQL,并试图按周增加每周的产品使用量。
使用下面的代码,我能够在每一行中分别添加其所属的星期和年份。我该如何按周对某项商品的总和进行汇总,然后将其输出到列中,例如最近8周之内。
extract(week from Metrics_Date) as week, EXTRACT(YEAR FROM Metrics_Date) AS year
图像是我的原始数据,项目旁边是星期和年份:
此图像是上面的原始数据,正在进一步分析(将它们分组在一起)。在这里,我要添加列,current_week和星期几的第一天以及那几周的总和。
任何帮助将不胜感激。
顺便说一下,您不需要extract()
,您可以执行truncation DATE_TRUNC(your_date, WEEK)
,它将截断到一周,通常比较容易。
此外,由于截断的结果是一个日期,因此您已经有了一周的第一天。
其余的我相信您已经知道了,但是以防万一:
SELECT DATE_TRUNC(your_date_field, WEEK) AS week, SUM(message_count) AS total_messages FROM your_table GROUP BY 1