WITH T ( NM , VAL ) AS ( SELECT 'A',1 FROM DUAL UNION ALL SELECT 'A',3 FROM DUAL UNION ALL SELECT 'B',40 FROM DUAL UNION ALL SELECT 'B',12 FROM DUAL UNION ALL SELECT 'B',23 FROM DUAL UNION ALL SELECT 'C',12 FROM DUAL UNION ALL SELECT 'C',13 FROM DUAL UNION ALL SELECT 'D',6 FROM DUAL ) SELECT NM , MAX(VAL) VAL FROM T GROUP BY NM ORDER BY NM