Това трябва да свърши работа:
SELECT X,Y,Z,ROW_NUMBER() OVER (PARTITION BY X,Y,Z ORDER BY X,Y,Z)
FROM TABLE1
ROW_NUMBER() ще отметне за всяка стойност в групата X,Y,Z и ще се нулира в следващата група. Клаузата ORDER BY се използва, за да се определи в какъв ред трябва да се отметне и може да бъде променена, както желаете. Това е една от аналитичните функции, които Oracle предоставя и може да бъде много полезна.