sql >> Database >  >> RDS >> Mysql

Hoe volgorde per clausule werkt in mysql, bestellen vertoont raar gedrag

Het probleem hiermee is dat er een dubbele waarde is die u opgeeft voor uw bestelling, oftewel meneer of mevrouw. Er is geen gegarandeerde geselecteerde bestelling omdat ze allemaal meneer of mevrouw zijn.

als je er zeker van wilt zijn dat het altijd in een specifieke volgorde staat, moet je ook de primaire sleutel als een tweede volgorde opnemen om het allemaal hetzelfde te houden.. oftewel

ORDER BY CON_PREFIX ASC, M_ID ASC

zoals het er nu uitziet ORDER BY CON_PREFIX geeft je precies wat het je zou moeten geven, de voorvoegsels in oplopende volgorde, er is niets gerelateerd aan de limiet om dit te veroorzaken, je hebt MySQL gewoon niet verteld hoe je anders wilt dat de gegevens naar je worden teruggestuurd.

om te reageren op uw PERSONAL OPINION bewerk in de vraag .... wat je beschrijft is onredelijk, denk er zo over na dat elke standaardvolgorde die zou worden gebruikt om gegevens op te halen nu verdwenen is omdat je een volgorde opgeeft door. als er geen order door was in de clausule, dan heeft mysql een generiek selectiepatroon, maar dat is weer verdwenen zodra u een bestelling plaatst op de query



  1. fe_sendauth:geen wachtwoord opgegeven fout in postgresql + laravel

  2. Zoek de dichtstbijzijnde breedtegraad/lengtegraad met een SQL-query

  3. MySQL hoe u een som van start-/einddatums krijgt met mogelijk overlappende datums

  4. Hoe zoek ik een opsomming in een lijst met strings op postgresql-query?