面试sql题

面试问的Sql:给你一个表里面有六列,第一列为学生id,其余五列为该学生的各科成绩,请你利用sql输出两列,第一列为学生id,第二列为该学生前三高的成绩拼接
这个咋写,有牛油会嘛,说下思路也行
全部评论
SELECT stu_id ,CONCAT( MAX(CASE WHEN rnk = 1 THEN score END),'|' ,MAX(CASE WHEN rnk = 2 THEN score END),'|' ,MAX(CASE WHEN rnk = 3 THEN score END) ) AS top_grade FROM ( SELECT * ,row_number() over(PARTITION BY gt.stu_id ORDER BY score DESC) AS rnk FROM ( SELECT stu_id, '语文' AS SUBJECT, cn_grade AS score FROM grade UNION ALL SELECT stu_id, '数学' AS SUBJECT, mat_grade AS score FROM grade UNION ALL SELECT stu_id, '英语' AS SUBJECT, en_grade AS score FROM grade UNION ALL SELECT stu_id, '物理' AS SUBJECT, phcs_grade AS score FROM grade UNION ALL SELECT stu_id ,'化学' AS SUBJECT, chmc_grade AS score FROM grade ) gt ORDER BY stu_id ) a GROUP BY stu_id
5 回复 分享
发布于 2023-08-16 10:46 上海
先用窗口函数求出各个学生前三高的成绩 然后用group_concat函数聚合
2 回复 分享
发布于 2023-08-10 21:41 北京
那个公司呀
点赞 回复 分享
发布于 2023-08-28 17:20 陕西

相关推荐

07-18 18:24
复旦大学 Java
最近帮不少同学改简历,发现80%的人项目栏都长一个样:图书管理系统、在线商城、学生管理系统……不是说这些项目本身不好,而是当HR一天刷到20份“SpringBoot+Vue做的商城”,你觉得你的简历能突出重围吗?面试官眼里的“好项目”长什么样?1. 有真实业务场景哪怕是小项目,能体现实际问题解决思路才加分。比如做一个外卖小程序,能说到“如何解决订单超时取消”“如何处理并发抢券”,比空泛的“商城系统”强10倍。2. 技术栈有深度+广度不追求堆砌框架,但用过的技术要讲透。比如用了Elasticsearch,能说清“为什么选它做搜索”“如何优化分词效果”;用了RabbitMQ,能聊“消息丢失怎么处理”“死信队列的设计”。3. 有自己的思考和优化比如“最初用了单表查询,后来发现数据量大了变慢,于是分库分表+加缓存,性能提升了多少”,这种“发现问题-解决问题”的过程,最能体现你的能力。4. 和岗位匹配度高投后端开发岗,重点突出Java核心(集合、并发、JVM)和框架应用;投中间件方向,多讲分布式、微服务相关的实践。其实很多同学不是技术不行,而是不会“包装”项目——明明做过有价值的内容,却写得像流水账;或者被烂大街项目耽误,白白浪费时间。如果你也在愁:• 项目没亮点,简历投出去石沉大海• 技术细节说不清楚,面试总被问住• 想进大厂,但实习/项目经历拿不出手可以来找我聊聊!帮你从0到1打磨项目(结合你的技术栈和目标岗位),梳理简历亮点,甚至模拟面试抠细节。毕竟,好的项目+会表达,才是拿offer的关键~
简历中的项目经历要怎么写
点赞 评论 收藏
分享
07-21 18:45
已编辑
浙江工业大学 Java
进了飞书的线上会议也是被狠狠拷打了,本来以为问的会是一些redis缓存,kafka,rocketMQ这些的原理什么的,或者是一些锁的内容,又或者是对该司开发的产品了解什么的,结果问的问题跟准备的内容毫不相干1.介绍一下你自己2.讲讲你在你的项目经历中负责什么部分3..你这个“自动任务”是怎么实现的?数据量大概是多少?(springboot+mybatis-plus)4.如果不能用mybatis-plus,你该如何实现批量写/批量保存?(当时没反应过来面试官想问什么,现在看来问的是sql语句的部分)5.那批量查询呢?在mysql里面应该怎么实现?(同上,也是sql语句的部分)6.索引是什么?mysql里面索引是怎么实现的?(后面一半当时忘了)7.索引是怎么提高orderby,groupby,where等查询速度的?(只答了可以预处理,减少扫描数量,没答上来用了索引后是怎么查的)8.如何决定建立哪些索引?(知道,但是一时间不知道该怎么描述)9.你这个使用了索引的mysql相比于原来使用mongoDB的那个方法,查询速度怎么样?10.索引优化是怎么样的?(没答上来)11.知道计网的http methods吗,说说你知道的几种(知道五个,面试官说常用的有七个)12.GET请求的参数可以写在body里面吗?为什么?(没想过这个问题,当时说应该不行)13.POST请求的参数可以写在url里面吗?(同上)14.HEAD跟GET的区别
查看14道真题和解析
点赞 评论 收藏
分享
评论
2
29
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务