我正在尝试计算单个表中每个代理ID显示的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
答案 0 :(得分:0)
我认为你只想要条件聚合:
select arc_agt_id,
sum(case when arc_deviceVendor <> 'ArcSight' then 1 else 0 end)
from arcsight.events
group by arc_agt_id