Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie die Bestellung nach Klausel in MySQL funktioniert, zeigt die Bestellung ein seltsames Verhalten

Das Problem dabei ist, dass es einen doppelten Wert gibt, den Sie für Ihre Bestellung angeben, auch bekannt als Herr oder Frau. Es gibt keine garantierte Auswahlbestellung, da sie alle Herr oder Frau sind.

Wenn Sie sicherstellen möchten, dass es immer in einer bestimmten Reihenfolge ist, sollten Sie auch den Primärschlüssel als zweite Reihenfolge angeben, damit alles gleich bleibt.. alias

ORDER BY CON_PREFIX ASC, M_ID ASC

so wie es gerade aussieht ORDER BY CON_PREFIX gibt Ihnen genau das, was es Ihnen geben sollte, die Präfixe in aufsteigender Reihenfolge, es hat nichts mit der Grenze zu tun, die dies verursacht, Sie haben MySQL einfach nicht gesagt, wie Sie sonst die Daten an Sie zurückgeben möchten.

um auf Ihre PERSONAL OPINION zu antworten Bearbeiten Sie in der Frage .... was Sie beschreiben, ist unvernünftig, stellen Sie sich das so vor, dass jede Standardreihenfolge, die zum Herausziehen von Daten verwendet würde, jetzt weg ist, weil Sie eine Reihenfolge angeben. Wenn es in der Klausel kein order by gab, hat mysql ein generisches Auswahlmuster, aber auch das ist weg, sobald Sie ein order by in die Abfrage setzen