PostgreSQL: как включить количество 0 - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь подсчитать количество экземпляров arc_name, отображаемых для каждого идентификатора агента в одной таблице. Некоторые значения должны быть 0, и мне нужно это увидеть. Я пытался использовать внутренние и внешние соединения, но я не вижу, чтобы получить правильный вывод с тем, что я пытаюсь.

Запрос, который я выполняю:

select arc_agt_id, count(arc_name) 
from arcsight.events 
where arc_deviceVendor!='ArcSight'  
group by arc_agt_id

Результаты, которые я получаю

arc_agt_id                | count(arc_name)
--------------------------+----------------------------
30D9Sw1MBABDfYr21UVlCKw== |                        2405
30tpaw1MBABDgIt6vGXvdOw== |                          24
33dnWvVMBABCtK+QmmkJFmw== |                          34
3KO9Aw1MBABDeW7QDfqHLrQ== |                         150
3PqZkM1MBABCAZQUeEsoMyQ== |                          17
3WzBTyFMBABDkGgmV5hkYCg== |                      139401
3go+3yFMBABC6w9nthwL-xA== |                        2626
3jBRoplMBABCLS9DuFdIeEw== |                      214456
3t4uJ1GIBABDVLXw-2ElS8A== |                         156

Результаты, которые я хочу:

arc_agt_id                | count(arc_name)
--------------------------+----------------------------
30D9Sw1MBABDfYr21UVlCKw== |                        2405
30tpaw1MBABDgIt6vGXvdOw== |                          24
33dnWvVMBABCtK+QmmkJFmw== |                          34
3KO9Aw1MBABDeW7QDfqHLrQ== |                         150
3PqZkM1MBABCAZQUeEsoMyQ== |                          17
3WzBTyFMBABDkGgmV5hkYCg== |                      139401
3go+3yFMBABC6w9nthwL-xA== |                        2626
CLS9DuFdIeEw3jBRoplMBAB== |                          0
3UULSLSLS88ujiu8u8u8u88== |                          0
3jBRoplMBABCLS9DuFdIeEw== |                      214456
3t4uJ1GIBABDVLXw-2ElS8A== |                         156

1 Ответ

0 голосов
/ 10 мая 2018

Я думаю, вы просто хотите условную агрегацию:

select arc_agt_id,
       sum(case when arc_deviceVendor <> 'ArcSight' then 1 else 0 end)
from arcsight.events   
group by arc_agt_id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...