ROW_NUMBER, RANK et DENSE_RANK numérotent les lignes d'une fenêtre selon un ORDER BY. ROW_NUMBER donne un numéro unique, RANK attribue le même rang aux ex æquo puis saute des numéros, DENSE_RANK ne saute pas de numéros. Le choix dépend du traitement voulu pour les égalités.
Exemple
RANK() OVER (ORDER BY ca DESC)