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 № 1Si 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