-- TYPE이 공통코드로 되어있다면 WITH T AS ( SELECT 12 ID , 'item1' TYPE FROM DUAL UNION ALL SELECT 12 ID , 'item1' TYPE FROM DUAL UNION ALL SELECT 12 ID , 'item4' TYPE FROM DUAL UNION ALL SELECT 12 ID , 'item4' TYPE FROM DUAL UNION ALL SELECT 12 ID , 'item4' TYPE FROM DUAL UNION ALL SELECT 12 ID , 'item4' TYPE FROM DUAL UNION ALL SELECT 12 ID , 'item4' TYPE FROM DUAL ) , CODE AS ( SELECT 'item1' TYPE FROM DUAL UNION ALL SELECT 'item2' TYPE FROM DUAL UNION ALL SELECT 'item3' TYPE FROM DUAL UNION ALL SELECT 'item4' TYPE FROM DUAL UNION ALL SELECT 'item5' TYPE FROM DUAL ) SELECT B.TYPE , NVL(cnt,0) cnt FROM ( SELECT type ,COUNT(*) cnt FROM T WHERE ID = '12' GROUP BY type ) A , CODE B WHERE A.TYPE(+) = B.TYPE ORDER BY B.TYPE