在以下代码中,您如何排除每年超过500美元的会员支出(而不是所有年份的总支出)?
select
Year
,month
,memberkey
,sum(spending) as spending
from table1
group by
1,2,3
HAVING子句在这里不起作用,因为你真的想在YEAR
级别聚合以确定应该包括哪些记录。传统上,您可以使用相关子查询执行此操作,但在Teradata中,您可以使用QUALIFY
子句:
SELECT "Year"
,"Month"
,MemberKey
,spending
from table1
QUALIFY sum(spending) OVER (PARTITION BY "Year", MemberID) < 500