算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试 算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !
今天和大家聊的问题叫做 学生地理信息报告,我们先来看题面:
https://leetcode.cn/problems/students-report-by-geography/
示例
解题
1.新增1列,给3个洲的学生分别按照姓名顺序排名,使用row_number() over (order by ) 函数,这样有3个表
2.将3个表按照排名列联接起来
代码语言:javascript复制select America, Asia, Europe
from
(select name as America,row_number() over (order by name ASC) as rn from student where continent='America') a
left join
(select name as Asia,row_number() over (order by name ASC) as rn from student where continent='Asia') b
on a.rn=b.rn
left join
(select name as Europe,row_number() over (order by name ASC) as rn from student where continent='Europe') c
on c.rn=a.rn
上期推文:
LeetCode1-600题汇总,希望对你有点帮助!
LeetCode刷题实战601:体育馆的人流量
LeetCode刷题实战602:好友申请 II :谁有最多的好友
LeetCode刷题实战603:连续空余座位
LeetCode刷题实战604:迭代压缩字符串
LeetCode刷题实战605:种花问题
LeetCode刷题实战606:根据二叉树创建字符串
LeetCode刷题实战607:销售员
LeetCode刷题实战608:树节点
LeetCode刷题实战609:在系统中查找重复文件
LeetCode刷题实战610:判断三角形
LeetCode刷题实战611:有效三角形的个数
LeetCode刷题实战612:平面上的最近距离
LeetCode刷题实战613:直线上的最近距离
LeetCode刷题实战614:二级关注者
LeetCode刷题实战615:平均工资:部门与公司比较
LeetCode刷题实战616:给字符串添加加粗标签
LeetCode刷题实战617:合并二叉树