sql >> Base de Datos >  >> RDS >> Mysql

La consulta de los N principales por código de grupo funciona para MySQL pero el resultado es diferente para MariaDB

Se permite la ejecución de la consulta para ignorar el ORDER BY en el FROM ( SELECT ... ) . Esta es probablemente la verdadera razón de la diferencia que está viendo. (No creo que la respuesta de Gordon sea relevante).

El problema se discute aquí (hace 4 años):https://mariadb.com/kb/en/mariadb/group-by-trick-ha-sido-optimizado/ ; que tiene una solución, a través de una configuración.

Algunas otras soluciones están aquí:http://mysql.rjweb.org/doc.php/groupwise_max ; están diseñados para ser eficientes.

Otro posible la solución es agregar un LIMIT falso con un gran número en la subconsulta.