WITH t AS ( SELECT 'a1' no, '김' ceo, '일' emp FROM dual UNION ALL SELECT 'a1', '김', '삼' FROM dual UNION ALL SELECT 'a2', '이', '이' FROM dual UNION ALL SELECT 'a2', '이', '사' FROM dual UNION ALL SELECT 'a3', '박', '오' FROM dual ) SELECT DECODE(rn, 1, no) no , DECODE(rn, 1, ceo) ceo , emp FROM (SELECT no, ceo, emp , ROW_NUMBER() OVER(PARTITION BY no ORDER BY emp) rn FROM t ) ;