Mysql
 sql >> Base de données >  >> RDS >> Mysql

Problème de fonction d'agrégation MySQL

Le HAVING La clause est utilisée pour filtrer des groupes de lignes. Vous faites référence à min(a) et max(a) qui (en l'absence de tout GROUP BY clause) agrégat sur tous les a valeurs dans le tableau, mais utilisez ensuite une comparaison avec un seul a valeur.

Alors, quel a la valeur MySQL est-elle censée utiliser ? Tous les autres RDBMS que je connais généreraient une erreur à ce stade, mais MySQL le permet. De la documentation

Donc, dans votre cas, d'après les résultats que vous obtenez, il semble qu'il a fini par utiliser 1 comme valeur scalaire pour a mais ce comportement n'est pas garanti et il aurait tout aussi bien pu utiliser 2 ou tout autre a existant valeur.