sql >> Base de Datos >  >> RDS >> Sqlserver

Orden de clasificación indeterminado cuando se usa ROW_NUMBER() SOBRE una columna decimal con vínculos

Esto es una conjetura, pero si tiene valores duplicados para el FTE entonces no hay garantía de en qué orden aparecerán cada vez que se ejecute el código. SQL Server probablemente está cambiando el plan de consulta entre cuando hace un simple SELECT y un SELECT con el WHERE criterios, haciendo que salga un orden diferente a lo que estás viendo.

Agregaría el PK al final de su ORDER BY solo para garantizar que el orden sea siempre consistente.