簡體   English   中英

在 SQL (date_trunc) 中累計數周至數月

[英]Weeks rolling up to months in SQL (date_trunc)

我正在研究一個 MODE 案例研究,可以在這里訪問https://mode.com/sql-tutorial/a-drop-in-user-engagement/#the-problem

我正在嘗試訪問表 2:具有日期列“occurred_at”的事件。 我想查看此案例研究的時間范圍,即數周和數月。 我寫了一個簡單的查詢

select distinct(date_trunc('week', occurred_at)) as week, date_trunc('month', occurred_at) as month
from tutorial.yammer_events 
where event_type = 'engagement'
order by week;

令我驚訝的是,“2014-04-28”的第一周顯示的是“五月”而不是“四月”。 在此處輸入圖片說明

有人可以告訴我這是什么原因嗎? 謝謝

PostgreSQL date_trunc根據粒度( dayweekmonth等)將日期匯總到日期的第一個實例

對於月份,此實例是一個月的第一天,即第 1 天。對於一周,此實例是一周的第一天,即星期一。

假設日期是4th July 2021 ,即星期日,那么date_trunc將導致1st July 2021的月份和28th June 202128th June 2021的一周,即該周內的星期一。

假設日期是5th July 2021 ,也就是星期一本身,那么date_trunc仍然會產生1st July 2021的月份,但會產生5th July 2021的周,因為它已經是星期一。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM