ROW_NUMBER kräver en ORDER BY
klausul syntaktisk. Du kan inte använda den utan en. SELECT NULL
är ett hack för att stänga av felet utan att upprätthålla någon särskild order. I det här fallet behöver vi inte verkställa någon order, så det snabbaste alternativet är att använda SELECT NULL
.
Optimeraren ser igenom detta trick, så det har ingen körtidskostnad (detta påstående kan enkelt verifieras genom att titta på exekveringsplanen).