/ / Order by before group by dans la sous-requête fonctionnant dans mysql 5.5 mais pas dans mysql 5.7 [dupliquer] - mysql, sql, sous-requête, plus-n-par-groupe

Ordre par avant groupe par sous-requête travaillant dans mysql 5.5 mais pas dans mysql 5.7 [duplicate] - mysql, sql, subquery, greatest-n-per-group

J'ai un problème lorsque j'utilise Order By et Group By dans une chaîne de requête.

Il y a une table carrières qui contient des données comme indiqué ci-dessous:

id se_id inscriptionment_start ------------------------- 1 1 2005-07-01 2 2 2008-10-12 3 2 2006-05-09 4 1 2016-11-10 5 3 2015-02-04 6 3 2010-08-11

Je veux obtenir se_id, qui a le plus haut nombre d'inscriptions.

C'est une déclaration SQL que j'ai utilisée. Cela fonctionne dans mysql 5.5 mais pas dans mysql 5.7:

SÉLECTIONNER tmp. * DE (SÉLECTIONNER * DE carrières ORDER BY inscriptionsment_start DESC) tmp GROUP BY tmp.se_id

C’est un problème de groupe maximum, et il y abeaucoup de sujets couvrent à ce sujet. Mais je ne veux pas de réponse à ce problème, je veux savoir pourquoi l’instruction ci-dessus est activée dans mysql 5.5 mais cela ne fonctionne pas dans mysql 5.7 et existe-t-il une méthode pour la résoudre? Je vous remercie.

Réponses:

0 pour la réponse № 1

Si tu veux pour obtenir se_id qui a le plus haut inscription_start. utilisation LIMITE:

SELECT  *
FROM    careers
ORDER BY enrollment_start DESC
LIMIT 1