![](/img/trans.png)
[英]postgres: COUNT, DISTINCT is not implemented for window functions
[英][Postgres][SQL]Window functions (count/average) where partitioning by weeks
有沒有辦法運行 window function ,其中分區用於日期列,我需要每周匯總一次值。
例如在這個數據集中
日期 | 價值 |
---|---|
01-01-2022 | 10 |
02-01-2022 | 15 |
2022 年 10 月 1 日 | 01 |
2022 年 11 月 1 日 | 12 |
20-01-2022 | 09 |
25-01-2022 | 08 |
我想要一個 window function 來計算 2022 年第一周(從 01-01-2022 開始)以及隨后幾周的值列的平均值。
目前為每個條目創建一個帶有周數的新列,並在該新列上進行分區是我能想到的解決這個問題的唯一方法。 在 Postgres 的 window 函數中是否有一種我不熟悉的更優雅的方式。
像這樣的東西?
SELECT date
, value
, TO_CHAR(date, 'WW')::INT AS weeknumber
, AVG(value) OVER(PARTITION BY TO_CHAR(date, 'WW')::INT)
FROM table_name
ORDER BY date;
通常我不使用 WW,但 IW 使用 ISO 周編號。 但這取決於你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.