Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Ordem de classificação indeterminada ao usar ROW_NUMBER() OVER coluna decimal com empates


Este é um palpite, mas se você tiver valores duplicados para o FTE valor, então não há garantia de qual ordem eles sairão cada vez que o código for executado. O SQL Server provavelmente está alterando o plano de consulta entre quando você faz um simples SELECT e um SELECT com o WHERE critérios, fazendo com que saia uma ordem diferente e o que você está vendo.

Eu adicionaria o PK no final do seu ORDER BY apenas para garantir que a ordenação seja sempre consistente.