SELECT SAI10,SUM(CNT) CNT from ( SELECT * FROM ( SELECT '10代' SAI10, 0 CNT UNION ALL SELECT '20代' SAI10, 0 CNT UNION ALL SELECT '30代' SAI10, 0 CNT UNION ALL SELECT '40代' SAI10, 0 CNT UNION ALL SELECT '50代' SAI10, 0 CNT UNION ALL SELECT '60代' SAI10, 0 CNT UNION ALL SELECT '70代' SAI10, 0 CNT UNION ALL SELECT '80代〜' SAI10, 0 CNT UNION ALL SELECT '不明' SAI1, 0 CNT ) R UNION ALL select (CASE WHEN COALESCE(T.AGE, 999) = 999 THEN '不明' WHEN (TRUNC(T.AGE/10.0)*10) >= 80 THEN '80代〜' ELSE (TRUNC(T.AGE/10.0)*10)||'代' END) SAI10 ,1 CNT FROM (select distinct member_id,GENDER_CD,ANSWER_TIMES,age from t_reply where enquete_id= /*enquete_id*/ ) T ) RE GROUP BY SAI10 ORDER BY (CASE SAI10 WHEN '不明' THEN 1 ELSE 0 END),SAI10