Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So fügen Sie meiner Abfrage eine Zeilennummer innerhalb einer Gruppe hinzu

Das sollte funktionieren:

SELECT X,Y,Z,ROW_NUMBER() OVER (PARTITION BY X,Y,Z ORDER BY X,Y,Z)
FROM TABLE1 

Die ROW_NUMBER() wird für jeden Wert in der Gruppe X, Y, Z ankreuzen und bei einer nächsten Gruppe zurückgesetzt. Die ORDER BY-Klausel wird verwendet, um zu definieren, in welcher Reihenfolge sie ticken soll, und kann beliebig geändert werden. Dies ist eine der analytischen Funktionen, die Oracle bereitstellt, und kann sehr nützlich sein.