Filter after mysql grouping
The condition of screening after grouping is to do screening on the results of the first-level screening, which is put at the end, and if the screening has nothing to do with the results of the first-level screening, it is put in the middle.
If the grouping function is a condition, it must be screened after grouping.
# case 1: query the number of employees in which department > 2
SELECT COUNT (*), department_idFROM employeesGROUP BY department_idHAVING COUNT (*) > 2
#: query the maximum wage of employees with bonus for each job type > 12000 and the maximum wage
SELECT MAX (salary), job_idFROM employeesWHERE commission_pct IS NOT NULL GROUP BY job_idHAVING MAX (salary) > 12000; # filter 12000 is placed after grouping because you have to wait until the Max calculation is finished before starting the screening.
# inquire about the minimum wage > 5000 of each employee under the leadership number > 102, as well as their minimum wage
SELECT MIN (salary), manager_idFROM employeesWHERE manager_id > 102GROUP BY manager_idHAVING MIN (salary) > 5000