In
MSSQL kann man das so lösen:
1. Deklariere eine temporäre Tabelle mit allen Feldern der Quelltabelle + zusätzlich ein Autoinc (Identity)-Feld (=ID)
2. Kopiere die Daten in die temporäre Tabelle (mit einer beliebigen ORdnung), dabei wird der Rank (ID) automatisch generiert
3. Gib die temp-Tabelle aus und schmeiss sie auf den Müll.
Die Spalte ID spiegelt ja eine totale Ordnung wieder. Also muss man irgendeine Ordnung (Sortierung) angeben, Wenn das z.B. das das 'Zahl'-Feld wäre, könnte man auch sowas schreiben
SQL-Code:
select *,
(select count (*) From Tabelle alias Y where Y.Zahl < X.Zahl) as Rank
From Tabelle alias X
In der Spalte 'Rank' steht also die Anzahl der Datensätze, deren Feld 'Zahl' kleiner ist.