select xx as fieldA from ... group by xxx having fieldA is not null
Je trouve que having
n'a pas d'effetComment utiliser avoir sur un champ un-aggregate dans MySQL?
select xx as fieldA from ... group by xxx having fieldA is not null
Je trouve que having
n'a pas d'effetComment utiliser avoir sur un champ un-aggregate dans MySQL?
Peut être:
select xx as fieldA from ... where fieldA is not null group by xxx having
vous aider
Cela ne fonctionnera pas car les alias ne sont pas disponibles dans 'GROUP BY'. (Ils sont dans "ORDER BY" et "HAVING"). Passer à 'WHERE fieldA IS NOT NULL' changerait le nombre de lignes groupées, en changeant éventuellement l'intention originale. –
Vous devrait inclure toutes les colonnes non agrégées dans le GROUP BY
. 5.7.5 a introduit le SQL_MODE
de only_full_group_by
pour faire respecter ce (sans se plaindre de certains cas où il est effectivement OK).
Lorsque vous avez une colonne non agrégée, le code est libre de fournir toute valeur qu'il aime pour une telle colonne (xx
dans votre cas). Compte tenu de cela, comment le HAVING
pourrait-il avoir un sens rationnel?
Ce n'est pas un bogue; c'est une erreur de l'utilisateur.
Veuillez le fermer, c'est un bug de 5.0 – wamp