sql >> Database >  >> RDS >> Mysql

Query voor top N per groepscode werkt voor MySQL maar ander resultaat voor MariaDB

De uitvoering van de query mag negeren de ORDER BY in de FROM ( SELECT ... ) . Dit is waarschijnlijk de echte reden voor het verschil dat u ziet. (Ik denk niet dat Gordons antwoord relevant is.)

Het probleem wordt hier besproken (4 jaar geleden):https://mariadb.com/kb/en/mariadb/group-by-trick-has-been-optimized-away/ ; die één oplossing heeft, via een instelling.

Enkele andere oplossingen zijn hier:http://mysql.rjweb.org/doc.php/groupwise_max ; ze zijn ontworpen om efficiënt te zijn.

Nog een andere mogelijke oplossing is om een ​​nep LIMIT . toe te voegen met een groot nummer op de subquery.



  1. SQL-UPDATE voor beginners

  2. Alle gebouwen binnen een bereik van 5 mijl van de opgegeven coördinaten krijgen

  3. match de datum van datepicker met de beschikbare databasedag en toon het resultaat

  4. Behandeling van seed-gegevens in R12.2 online patching