Es gibt keine inhärente Reihenfolge für eine Tabelle. Also, die Zeilennummer selbst ist eine bedeutungslose Metrik.
Sie können jedoch die Zeilennummer einer Ergebnismenge ermitteln, indem Sie die ROWNUM psuedocolumn oder ROW_NUMBER()
analytische Funktion, die leistungsfähiger ist.
Da es für eine Tabelle keine Reihenfolge gibt, benötigen beide eine explizite ORDER BY-Klausel, um zu funktionieren.
%Vor%oder Verwenden der analytischen Abfrage
%Vor% Ihre Syntax where name is like ...
ist falsch, es besteht keine Notwendigkeit für den IS, also habe ich ihn entfernt.
Die ORDER BY-Anweisung basiert hier auf einer binären Sortierung. Wenn also eine Verzweigung mit einem anderen als B beginnt, können die Ergebnisse unterschiedlich sein, z. B. b
ist größer als B
.
Die folgende Abfrage hilft, die Zeilennummer in oracle zu erhalten,
%Vor%