Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Ordre de tri indéterminé lors de l'utilisation de la colonne décimale ROW_NUMBER() OVER avec liens

Il s'agit d'une supposition, mais si vous avez des valeurs en double pour le FTE valeur alors il n'y a aucune garantie quant à l'ordre dans lequel ils sortiront à chaque fois que le code est exécuté. SQL Server modifie probablement le plan de requête entre le moment où vous effectuez un simple SELECT et un SELECT avec le WHERE critères, provoquant une commande différente et ce que vous voyez.

J'ajouterais le PK à la fin de votre ORDER BY juste pour s'assurer que la commande est toujours cohérente.