2017-10-13 4 views
0

Est-ce vrai ou faux? Est-ce que quelqu'un peut expliquer la signification de cette commande, merci!Commande MySQL: HAVING est à GROUP BY comme où est à SELECT?

+0

oui .. est vrai, est la clause pour filtrer les résultats des fonctions agrégées requête – scaisEdge

+1

Il y a une certaine vérité en elle, mais c'est loin de toute l'histoire – Strawberry

+0

Connexes: https://stackoverflow.com/questions/27235152/mysql- use-column-alias-in-where-clause – mustaccio

Répondre

2

Ils ne peuvent vraiment pas être comparés comme ça. AVOIR simplement vous permet d'appliquer une recherche à un regroupement ou un agrégat comme vous le feriez dans une clause WHERE.

Un exemple serait:

SELECT StateOfResidence, COUNT(Student) 
FROM Students 
GROUP BY StateOfResidence 
HAVING COUNT(*) > 1; 

qui renverrait les Etats qui avaient plus d'un étudiant en eux.

Vous ne pouvez pas dire WHERE COUNT(*) > 1 comme vous le pouvez normalement, car vous appliquez la recherche à un groupement.