Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como a cláusula order by funciona no mysql, a ordenação mostra um comportamento estranho


O problema com isso é porque há um valor duplicado que você especifica para o seu pedido, também conhecido como Sr. ou Sra. Não há nenhum pedido de seleção garantido com isso porque todos são Sr. ou Sra.

se você quiser garantir que sempre esteja em uma ordem específica, também deve incluir a chave primária como uma segunda ordem para mantê-la igual.
ORDER BY CON_PREFIX ASC, M_ID ASC

como está agora ORDER BY CON_PREFIX está dando a você exatamente o que deveria estar dando a você, os prefixos em ordem crescente, não há nada relacionado ao limite para causar isso, você simplesmente não disse ao MySQL de que outra forma você deseja que os dados sejam retornados para você.

para responder à sua PERSONAL OPINION edite na pergunta .... o que você está descrevendo não é razoável, pense dessa maneira, qualquer ordem padrão que seria usada para extrair dados agora desapareceu porque você está especificando uma ordem por. se não houver nenhum pedido na cláusula, o mysql tem um padrão de seleção genérico, mas novamente ele desaparece quando você coloca um pedido na consulta