Я делаю случай, когда раздел с группой, после того, как я хочу подсчет

Я делаю следующий запрос:

 select case when anum like '0%' then 0 else 1 end anum ,
    ,voucher
    , date 
 from ledger
 group by voucher, date, case when accountnum like '0%' then 0 else 1 end
 order by voucher

После этого мне нужно рассчитывать на анум в одном запросе.

Ответ здесь: я делаю запрос, что я написал выше. Тогда я получаю следующий результат:

anum  voucher   date
1     1         2012-09-30
29    1         2012-09-30
2     101       2012-11-01
2     1131_3    2012-01-01
4     1131_11   2012-05-22
4     1131_11   2012-05-22

Но я хочу увидеть это:

anum  voucher   transdate
2     1         2012-09-30
1     101       2012-11-01
1     1131_3    2012-01-01
2     1131_11   2012-05-22

1 ответ

Решение

Просто поместите это в подзапрос:

select count(*) as anum, voucher, date
from (
     select case when anum like '0%' then 0 else 1 end anum ,
        ,voucher
        , date 
     from ledger
     group by voucher, date, case when accountnum like '0%' then 0 else 1 end
     order by voucher
) sq
group by voucher, date
Другие вопросы по тегам