我有一种情况,我希望在给定列的固定数量的值上返回group by
select code, status, status_desc, count(*)
from table group by code, status, status_desc;
的结果,即使列值在某个给定时间点可能不存在在这种情况下,它将返回零。
示例:
cef
返回以下计数:
] 1
现在状态可以在任何给定时间点取值1,2,3,4,5,6,7。 我如何得到结果集以及它们的计数为零,以便我的结果集总是返回7行,每个状态的计数,即使每个代码当时为空。
这是一个oracle 11g DB。
答案 0 :(得分:0)
你可以在任何给定的时间点尝试这个:)
select * from (select status status, count(*) from your_table group by status union all
select stat status, 0 from (select level stat from dual connect by level <=7) where stat not in(select status from your_table)) order by status