【MySQL刷题笔记】关键词

本文深入解析SQL查询的高级用法,包括使用LIMIT获取特定范围记录,利用HAVING子句筛选分组后的数据,以及展示如何计算每个地区的总人口数和总面积,并过滤出面积超过100万平方公里的地区。
limit

limit m, n:从第m条开始取(m>=0),取n条数据。例如:
求Numbers数据库中number字段第3大的数值:

select number from Numbers limit 2, 1

求Numbers数据库中number字段最小的10个数组:

select number from Numbers order by number desc limit 0, 10
having

处理顺序:where>group by>having
先处理where,再根据group by进行分组,再通过having进行筛选。

显示每个地区的总人口数和总面积:

SELECT region, SUM(population), SUM(area) FROM bbc GROUP BY region

上面查询字段的意思是,先通过region分组,然后显示每个region下的population和are总数

显示每个地区的总人口数和总面积.仅显示那些面积超过1000000的地区:

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

首先通过region分组,然后计算每个region下population和area的总和,最后通过having筛选出area总和超过1000000的region。
这里having不能被where替代,因为where比group by先行,就不能按region来统计sum(area)。
having子句可以让我们筛选分组后的各组数据

但是having和where在单独使用时是对等的:

SELECT regagent,amount FROM `cy_pay_ok`  having amount>1000 ;

SELECT regagent,amount FROM `cy_pay_ok`  where amount>1000 ;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值