2013-12-12 5 views
1

Я использую Teradata У меня есть таблица, которая показывает мне номера продаж на каждый день. Я хочу сделать что-то вродеSQL-раздел по датам, сумма по датам

select product 
    , sum(sales) over (partition by product) where dates between date '2013-10-01' and date '2013-12-12' as Q4Sales 
    , sum(sales) over (partition by product) where dates between date '2013-07-01' and date '2013-10-31' as Q3Sales 
    from tablex 
    qualify 
     row_number() 
     over(partition by dates, product) 

Я не могу найти, как я делаю это Суммируя где п. Может кто-то помочь. Я искал интернет, но не могу найти то, что ищу.

ответ

2

Попробуйте использовать условную агрегацию:

select product, 
     sum(case when dates between date '2013-10-01' and date '2013-12-12' then sales end) over 
      (partition by product 
      ) as Q4Sales 
     sum(case when dates between date '2013-07-01' and date '2013-10-31' then sales end) over 
      (partition by product 
      ) as Q3Sales 
from tablex 
qualify row_number() over(partition by dates, product) 
Смежные вопросы