如何在Redshift分组查询中新增统计Process总实例数的字段?
Redshift实现分组统计+同组总实例数
你需要用窗口函数来实现这个需求,窗口函数可以在不改变现有分组逻辑的前提下,计算每个process对应的总实例数。修改后的查询如下:
select process, path, md5, count(*) as cnt, count(*) over (partition by process) as process_total from process where path ilike '%:\\Windows\\System32\\%' group by 1,2,3
说明:
- 原有的
count(*) as cnt保留,用于统计process+path+md5组合的匹配数量 count(*) over (partition by process)是窗口函数,它会在整个查询结果范围内,按process分组计算总记录数,也就是每个process的总实例数,不受path和md5分组的影响- 该窗口函数无需额外添加
group by,它基于分组后的结果集,对每个process进行全局计数
内容的提问来源于stack exchange,提问作者user2917347
相关产品推荐
相关产品推荐

