[英]Basic SQL question for Group By (in Netezza)
這聽起來可能很愚蠢,但我在 Netezza 中的 Group By 的 SQL 代碼遇到問題,我似乎無法弄清楚。 基本上,我正在做簡單的求和並試圖對結果進行分組,這就是我遇到問題的地方。 當前表如下所示:
id date daily_count
---------------------------
1 4/1/20 2
1 4/2/20 1
2 4/1/20 3
2 4/1/20 2
2 4/3/20 1
我想讓它看起來像:
id date daily_count
---------------------------
1 4/1/20 2
1 4/2/20 1
2 4/1/20 5
2 4/3/20 1
我的 select 語句是:
select id, date, sum(count) over (partition by date, id) as daily_count
如果我group by
包括 sum 字段( group by id, date, daily_count
),我會收到警告說:
GROUP BY 子句中不允許使用窗口聚合
但是,如果我在group by
子句( group by id, date
)中排除 sum 字段,那么我會收到警告說:
屬性
count
必須分組或用於聚合 function
count
是我要求和的變量,所以如果我對它進行分組,它將不會產生正確的總和。
這是否意味着必須在此查詢之外進行分組,即 cte 或子查詢? 我希望得到一些建議,以了解究竟發生了什么以及最佳行動方案是什么。
您想要簡單的聚合而不是 window 函數:
select id, date, sum(daily_count) daily_count
from mytable
group by id, date
您似乎只想要聚合:
select id, date, sum(count) as daily_count
from t
group by id, date;
我不確定您為什么要在這里嘗試使用 window function。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.