14、已知省份城市表、城市人口表,编写sql查询人口数第三大 的省份(可能多个省份)和具体人口数
展开全部
定义表,省份表两列,id和name,人口表,sfid和rk,创建一些测试数据如下:
id name
1 北京
2 吉林省
3 辽宁省
4 黑龙江省
5 河南省
6 河北省
sfid rk
1 123
2 235
3 456
4 743
5 452
6 321
开始查询了,初始的sql很简单,俩表关联即可,要查询出排名第三的,需要用到绑定变量,设置一个自增的变量(我用的是mysql),然后条件是这个自增变量等于3即可了,sql语句如下:
select d.id,d.name,d.rk,d.no from (
select *,(@i:=@i+1) as no from sf a,rk b,(select @i:=0) as c
where a.id=b.sfid) d
where d.no=3
验证结果,望采纳。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询