ROW_NUMBER richiede un ORDER BY clausola sintatticamente. Non puoi usarlo senza uno. SELECT NULL è un trucco per chiudere l'errore senza applicare alcun ordine particolare. In questo caso non è necessario imporre alcun ordine, quindi l'opzione più veloce è utilizzare SELECT NULL .
L'ottimizzatore vede attraverso questo trucco, quindi non ha costi di runtime (questa affermazione è facilmente verificabile osservando il piano di esecuzione).