WITH T AS ( SELECT 'a' t FROM dual UNION ALL SELECT 'a' FROM dual UNION ALL SELECT 'b' FROM dual UNION ALL SELECT 'b' FROM dual UNION ALL SELECT 'b' FROM dual UNION ALL SELECT 'b' FROM dual UNION ALL SELECT 'c' FROM dual UNION ALL SELECT 'c' FROM dual UNION ALL SELECT 'c' FROM dual UNION ALL SELECT 'd' FROM dual ) SELECT DECODE(rn, 1, t) t1 FROM ( SELECT T.*, ROW_NUMBER() OVER(PARTITION BY T.t ORDER BY T.t) rn FROM T ) ORDER BY t, rn 어거지로 하면 이런식으로 하면 될 것 같네요