25.1 HAVING的作⽤
HAVING⼦句能够指定过滤条件,从⽽控制查询结果中哪些组可以出现在最终结果⾥⾯。
WHERE⼦句对被选择的列施加条件,⽽HAVING⼦句则对GROUP BY⼦句所产⽣的组施加条件。
25.2 HAVING语法
下⾯可以看到HAVING⼦句在SELECT查询中的位置:
SELECTFROMWHEREGROUP BYHAVINGORDER BY
在SELECT查询中,HAVING⼦句必须紧随GROUP BY⼦句,并出现在ORDER BY⼦句(如果有的话)之前。带有HAVING⼦句的SELECT语句的语法如下所⽰:
SELECT column1,column2FROM table1,table2WHERE [conditions]
GROUP BY column1,column2HAVING [conditions]
ORDER BY column1.column2;
25.3 HAVING实例考虑Customers表
筛选出“城市”列的内容出现次数⼤于或等于2的所有记录:
SELECT *
FROM CustomersWHERE 城市 IN(
SELECT 城市 FROM CustomersGROUP BY 城市
HAVING COUNT(1)>1);
因篇幅问题不能全部显示,请点此查看更多更全内容