So schwer ist das doch nicht?
Absteigend sortierte Liste, fängst bei 1 an, weißt das nacheinander deinen Zeilen zu
und dann immer um 1 hochzählen, wenn der vorherrige Wert nicht dem aktuellen Wert entspricht.
SQL-Code:
rank() OVER (ORDER BY wert) as ranking
-- oder
row_number() OVER (ORDER BY wert) as ranking
Ins OVER noch ein GROUP BY wert oder DISTINCT rein.
https://support.microsoft.com/de-de/...-sql-statement
Guck in die Doku deines
DBMS ... sowas gibt es fast überall.
Im Prinzip die bestehenden Werte sortieren, gruppieren (gleiche zusammenfassen) und dann den Index aus dieser Liste als Ranking verwenden.