【发布时间】:2018-06-07 10:19:10
【问题描述】:
所以我编写了一个使用窗口函数的查询,并且在 Teradata 中不断收到错误 3504,尽管我确定 group by 子句中的列(所有非聚合列)都是正确的。它与我正在使用的窗口功能有关,因为当我将其注释掉时,我没有收到错误,但我不知道如何解决它。
这是查询:
select
n.acct_id as bd_acct_id
,n.tran_nr as tran_order
,t.trade_dt - n.tran_dt as days_until_trade
,n.n_total
,sum(t.trade_ct) as trades_ct
,sum(t.trade_gross_am) as tot_trades
,sum(t.trade_gross_am) over (partition by bd_acct_id, tran_order order by tran_order) as running_total
from nnae n
left join trades t
on n.acct_id = t.acct_id
having days_until_trade > 0
group by 1,2,3,4
order by 1,2,3
不胜感激。谢谢!
【问题讨论】:
-
您的 select 子句中的最后一个
SUM是罪魁祸首,但我不知道如何解决它,部分原因是我不知道它应该做什么。