WITH T AS ( SELECT '1' cnt1, '' cnt2, '' cnt3 FROM dual UNION ALL SELECT '2', '', '' FROM dual UNION ALL SELECT '', '3', '' FROM dual UNION ALL SELECT '', '4', '' FROM dual UNION ALL SELECT '', '', '5' FROM dual UNION ALL SELECT '', '', '6' FROM dual ) SELECT SUM(cnt1) cnt1, SUM(cnt2) cnt2, SUM(cnt3) cnt3 FROM ( SELECT MOD(NVL(cnt1, 0) + NVL(cnt2, 0) + NVL(cnt3, 0), 2) gr, cnt1, cnt2, cnt3 FROM T ) GROUP BY gr ORDER BY gr desc