你如何使用多种条件?

问题描述 投票:-2回答:1

在以下代码中,您如何排除每年超过500美元的会员支出(而不是所有年份的总支出)?

 select 

Year
,month
,memberkey
,sum(spending) as spending

from table1
group by 
1,2,3 
sql teradata having
1个回答
0
投票

HAVING子句在这里不起作用,因为你真的想在YEAR级别聚合以确定应该包括哪些记录。传统上,您可以使用相关子查询执行此操作,但在Teradata中,您可以使用QUALIFY子句:

SELECT "Year"
  ,"Month"
  ,MemberKey
  ,spending
from table1
QUALIFY sum(spending) OVER (PARTITION BY "Year", MemberID) < 500
© www.soinside.com 2019 - 2024. All rights reserved.