PostgreSQL中基于ID和去重rowNum统计HIT与MISS总数
按ID去重统计状态数量
原始数据表
id---------rowNum------status aa23 1 HIT aa23 1 HIT aa23 1 HIT aa23 2 MISS aa23 2 MISS aa24 2 MISS aa24 2 MISS
需求
给定指定ID,统计该ID下HIT和MISS的数量,同一ID内,相同rowNum的同状态记录仅计数一次。
示例
当传入ID=aa23时,预期返回:
status-----count HIT 1 MISS 1
实现方案(SQL)
先通过DISTINCT对id、rowNum、status组合去重,再按status分组统计:
SELECT status, COUNT(*) AS count FROM ( SELECT DISTINCT id, rowNum, status FROM your_table WHERE id = 'aa23' -- 替换为目标ID ) AS deduplicated GROUP BY status;
内容的提问来源于stack exchange,提问作者AnonNewbie
相关产品推荐
相关产品推荐

