MySQL :where 语句与Having 语句的区别

1、where 一般用在group by 语句的前面,先筛选后分组;而having 一般用在group by 语句的后面,先分组后筛选。

举例:

a) 显示每个地区的总人口数和总面积.
SELECT region, SUM(population), SUM(area) FROM table  GROUP BY region

先以region把返回记录分成多个组,这就是GROUP BY的字面含义。分完组后,然后用聚合函数对每组中
的不同字段(一或多条记录)作运算。

b)仅显示那些面积超过1000000的地区总人口数和总面积

SELECT region, SUM(population), SUM(area)
FROM table
GROUP BY region
HAVING SUM(area)>1000000

c)仅显示那些面积超过1000000的A,B,C地区总人口数和总面积

SELECT region, SUM(population), SUM(area)
FROM table  

where region in ('A','B','C')

GROUP BY region
HAVING SUM(area)>1000000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值