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.