Как вы используете для нескольких условий? - PullRequest
0 голосов
/ 16 апреля 2019

В следующих кодах как исключить расходы участников, превышающие 500 долларов США за каждый год (вместо общих расходов за все годы)?

 select 

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

from table1
group by 
1,2,3 

1 Ответ

0 голосов
/ 16 апреля 2019

Предложение HAVING здесь не сработает, поскольку вы действительно хотите агрегировать на уровне YEAR, чтобы определить, какие записи следует включить.Традиционно это можно сделать с помощью коррелированного подзапроса, но в Teradata вы можете использовать предложение QUALIFY:

SELECT "Year"
  ,"Month"
  ,MemberKey
  ,spending
from table1
QUALIFY sum(spending) OVER (PARTITION BY "Year", MemberID) < 500
...