Вы можете сделать что-то вроде следующего, но вы должны сделать это только для целей отображения:
WITH a (ename, position, deptno) AS (SELECT 'KING', 'Manager', 10 FROM dual
UNION ALL
SELECT 'BLAKE', 'Manager', 30 FROM dual
UNION ALL
SELECT 'CLARK', 'Manager', 10 FROM dual
UNION ALL
SELECT 'ALLEN', 'Manager', 30 FROM dual
UNION ALL
SELECT 'WARD', 'Manager', 30 FROM dual)
SELECT ENAME
, CASE WHEN position = MAX(position) over (ORDER BY ROWNUM
ROWS BETWEEN 1 preceding AND 1 preceding)
THEN NULL
ELSE position
END position
, deptno
FROM a
Это будет отображать NULL
для столбца POSITION
, если значение такое же, как впредыдущий ряд.