Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zapytanie o top N na kod grupy działa dla MySQL, ale inny wynik dla MariaDB

Wykonanie zapytania może ignorować ORDER BY w FROM ( SELECT ... ) . To prawdopodobnie prawdziwy powód różnicy, którą widzisz. (Nie sądzę, żeby odpowiedź Gordona była istotna).

Problem jest omawiany tutaj (4 lata temu):https://mariadb.com/kb/en/mariadb/group-by-trick-has-been-optimized-away/ ; który ma jedno rozwiązanie, poprzez ustawienie.

Oto kilka innych rozwiązań:http://mysql.rjweb.org/doc.php/groupwise_max ; są zaprojektowane tak, aby były wydajne.

Jeszcze jedno możliwe rozwiązaniem jest dodanie fałszywego LIMIT z dużą liczbą w podzapytaniu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Konfiguracja CentOs PHP i MySql

  2. PHP — Jak zaktualizować dane do MySQL po kliknięciu przycisku opcji

  3. Jaki jest najlepszy sposób w MySQL, aby sprawdzić, ile godzin ma coś?

  4. MySQL a SQL Server Express

  5. Zmiana tabeli MySQL w celu dodania ograniczenia klucza obcego prowadzi do błędów