sql >> Databáze >  >> RDS >> Mysql

Jak pořadí podle klauzule funguje v mysql, uspořádání ukazuje podivné chování

Problém je v tom, že existuje duplicitní hodnota, kterou u své objednávky zadáte buď panem nebo paní, není zde žádná zaručená výběrová objednávka, protože všichni jsou pan nebo paní

pokud chcete zajistit, aby to bylo vždy v určitém pořadí, měli byste také zahrnout primární klíč jako druhou objednávku, aby vše zůstalo stejné. aka

ORDER BY CON_PREFIX ASC, M_ID ASC

jak je nyní ORDER BY CON_PREFIX vám dává přesně to, co by vám měl dávat, předpony ve vzestupném pořadí, s limitem, který to způsobuje, nic nesouvisí, prostě jste MySQL neřekli, jak jinak chcete, aby vám byla data vrácena.

reagovat na váš PERSONAL OPINION upravit v otázce....to, co popisujete, je nerozumné, přemýšlejte o tom takto, jakékoli výchozí pořadí, které by bylo použito k vytažení dat, je nyní pryč, protože zadáváte pořadí. pokud v klauzuli nebyla žádná objednávka, pak má mysql obecný vzor výběru, ale ten je opět pryč, jakmile v dotazu zadáte objednávku



  1. ROW_NUMBER dotaz

  2. ORA-01000:maximální počet otevřených kurzorů překročen při použití Spring SimpleJDBCCall

  3. Jak zašifrovat rozdělenou databázi v Accessu 2016

  4. Jak vložím více řádků s cizím klíčem pomocí CTE v Postgres?