[英]PostgreSQL: How change date_trunc week start day from monday to another day in sql query?
[英]Calculate the end day of a week with DATE_TRUNC in PostgreSQL
有沒有辦法將顯示日期更改為每周結束而不是一周的開始。
這是我的代碼:
SELECT date_trunc('week', day + '1 day'::interval)::date - '1 day'::interval AS anchor, AVG(value) AS average
FROM daily_metrics
WHERE metric = 'daily-active-users'
GROUP BY anchor
ORDER BY anchor
我想要實現的是使其成為 2018-03-03(自定義周的結束)而不是 2018-02-25(自定義周的開始),2018-03-10 而不是 2018-03 -04...
您來回移動一天的技巧可以很好地開始您的自定義周。 您可以通過添加5而不是減去1來獲得結束或自定義周(星期六):
SELECT date_trunc('week', day + interval '1 day')::date + 5 AS anchor ...
將integer
添加到date
中,表示日期。
有關的:
只需嘗試
SELECT date_trunc('week', day::DATE + 1)::date + 5 AS anchor, AVG(value) AS average
FROM daily_metrics
WHERE metric = 'daily-active-users'
GROUP BY anchor
ORDER BY anchor
當日期是一周的開始日期時,加上 6 (1 + 5) 天會將日期移至一周的最后一天。 添加一個是將星期日移至下一周,而將 5 移動到從開始日期開始的一周結束。
請注意,PostgreSQL 允許將整數(= 天)添加到日期。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.