У меня проблемы с составлением специального запроса, и я был бы признателен, если бы кто-нибудь помог.
Я сделал запрос, похожий на этот:
select distinct
date, time,
case
when status_id = 5 and flag = 1 then 'autoprocessed'
when status_id = 5 and flag = 0 then 'manually processed'
else 'other state'
end as "state",
count (distinct doc_id) over (partition by date, time,
case when status_id = 5 and flag = 1 then 1
when status_id = 5 and flag = 0 then 2
else 0 end)
from
journal
Теперь мои результаты выглядят так:
17.06.16 00:00:00 19 other state 2
17.06.16 00:00:00 19 autoprocessed 3
18.06.16 00:00:00 14 other state 1
20.06.16 00:00:00 14 other state 1
20.06.16 00:00:00 21 other state 2
21.06.16 00:00:00 15 other state 2
-----------------
но я бы хотел видеть их более похожими на
17.06.16 00:00:00 19 other state 2
17.06.16 00:00:00 19 autoprocessed 3
17.06.16 00:00:00 19 manually processed 0
18.06.16 00:00:00 14 other state 1
18.06.16 00:00:00 14 autoprocessed 0
18.06.16 00:00:00 14 manually processed 0
----------------
Возможно ли это?Я знаю, что регулярные подсчеты могут показывать нули даже для групп.Как насчет подсчета с разделом?
Редактировать: пример данных
date flag staus_id
17.06.16 19:32:45 0 5
17.06.16 19:33:39 0 5
17.06.16 19:34:31 0 23
17.06.16 19:37:25 0 5
17.06.16 19:42:19 0 1
18.06.16 14:33:19 0 1
20.06.16 14:35:55 0 10
20.06.16 21:24:22 0 2
20.06.16 21:24:47 0 2
-------------------
Как вы можете видеть, в 17.06.16, 19 часов, есть 3 "автоматически обработанных" элемента (flag = 0,status_id = 5), 2 документа в «другом состоянии» (staus_id <> 5) и 0 «обработанных вручную документов» (flag = 1, status_id = 5), что дает мне первые 2 строки результатов:
17.06.16 00:00:00 19 other state 2
17.06.16 00:00:00 19 autoprocessed 3