Mysql
 sql >> база данни >  >> RDS >> Mysql

Заявката за топ N на групов код работи за MySQL, но различен резултат за MariaDB

Изпълнението на заявката е разрешено да игнорира ORDER BY в FROM ( SELECT ... ) . Това вероятно е истинската причина за разликата, която виждате. (Не мисля, че отговорът на Гордън е уместен.)

Проблемът се обсъжда тук (преди 4 години):https://mariadb.com/kb/en/mariadb/group-by-trick-has-been-optimized-away/ ; който има едно решение, чрез настройка.

Някои други решения са тук:http://mysql.rjweb.org/doc.php/groupwise_max ; те са проектирани да бъдат ефективни.

Още едно възможно решението е да добавите фалшив LIMIT с голямо число в подзаявката.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да избягвате кавички в MySQL и Java

  2. използвайте КЛАУЗА WHERE за данни за търсене от дата А до дата Б

  3. Mysql заявка с mysql променлива не работи в Zend Framework 1

  4. Mysql count срещу mysql SELECT, кой е по-бърз?

  5. PHP/MySQL - включва множествено число, но изключва единствено число