Mysql
 sql >> Database >  >> RDS >> Mysql

Come funziona l'ordine per clausola in MySQL, l'ordinamento mostra un comportamento strano

Il problema con questo è perché c'è un valore duplicato che specifichi per il tuo ordine, noto anche come Mr. o Mrs., non c'è un ordine selezionato garantito con questo perché sono tutti Mr. o Mrs.

se vuoi assicurarti che sia sempre in un ordine specifico, dovresti anche includere la chiave primaria come secondo ordinamento per mantenerlo tutto uguale.. alias

ORDER BY CON_PREFIX ASC, M_ID ASC

così com'è adesso ORDER BY CON_PREFIX ti sta dando esattamente quello che dovrebbe darti, i prefissi in ordine crescente, non c'è nulla di correlato al limite per causare questo, semplicemente non hai detto a MySQL in quale altro modo vuoi che i dati ti vengano restituiti.

per rispondere alla tua PERSONAL OPINION modifica nella domanda .... ciò che stai descrivendo è irragionevole, pensaci in questo modo qualsiasi ordine predefinito che verrebbe utilizzato per estrarre i dati ora è scomparso perché stai specificando un ordine per. se non c'era alcun ordine per sulla clausola, mysql ha un modello di selezione generico ma ancora una volta scompare una volta inserito un ordine per nella query