618. 学生地理信息报告 难度:困难

1、题目描述

在这里插入图片描述

来源:力扣(LeetCode)

2、解题思路

其实就是做3个子表分别查询属于各大洲的学生,然后以最多人的大洲为主表,进行外连接
1# 3个子表,例如,美洲的

select name as America,@a:=@a+1 as rank1
from student ,(select @a:=0) a
where continent="America"
order by name

2# 3表联查

3、提交记录

select America,Asia,Europe
from

(select name as America,@a:=@a+1 as rank1
from student ,(select @a:=0) a
where continent="America"
order by name
)ame 

left join 

(select name as Asia,@b:=@b+1 as rank2
from student ,(select @b:=0)b 
where continent="Asia"
order by name
)asia 
on ame.rank1=asia.rank2

left join 

(select name as Europe,@c:=@c+1 as rank3
from student,(select @c:=0)c
where continent="Europe"
order by name
) eur
on ame.rank1=eur.rank3

240ms

发布了90 篇原创文章 · 获赞 3 · 访问量 4947

猜你喜欢

转载自blog.csdn.net/weixin_43329319/article/details/97612380