sql刷题总结
文章平均质量分 60
Larry Westside
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
sql典型例题(二)行转列
1.行转列 建表语句 -- 创建 course 表 create table course ( id varchar(20), teacher_id varchar(20), week_day varchar(20), has_course varchar(20) ); insert into course value (1,1,2,"Yes"), (2,1,3,"Yes"), (3,2,1,"Yes"), (4,3,2,"Yes"), (5,1,2,"Yes") select * from cours原创 2021-06-23 22:50:27 · 334 阅读 · 0 评论 -
通过 牛客每个人最近的登录日期(六) 彻底理解窗口函数
请你写出一个sql语句查询刷题信息,包括: 用户的名字,以及截止到某天,累计总共通过了多少题,并且查询结果先按照日期升序排序,再按照姓名升序排序 本题涉及两个表 pass_number 表和user表 窗口函数的本质是 ‘分组不去重合并’ select * ,rank()over(partition by user_id ) from passing_number 这里输出很明显可以看出 partition by 首先是一个分区的效果 其次是一个升序排序分区字段的效果 rank()或者其他函数会对分原创 2021-06-20 20:53:39 · 320 阅读 · 0 评论 -
浅析一下目前牛客网最难的一道SQL题
如图所示,牛客每个人最近的登录日期(五) 此题以通过率来看可以算是目前最难的一道题。 我在做的过程中也是卡了挺久的,但最终在其他答案的点拨下做出来了。 题所给的login表 请你写出一个sql语句查询每个日期新用户的次日留存率,结果保留小数点后面3位数(3位之后的四舍五入),并且查询结果按照日期升序排序。 1.先求出所有日期的新用户 select user_id,min(date) as date from login group by user_id 2.求留存率的一般做法是利.原创 2021-06-20 19:53:31 · 912 阅读 · 0 评论 -
sql典型例题及知识点
1.问题 解法 SELECT name, "english" AS subject, english AS score FROM a1 UNION SELECT name, "maths" AS subject, maths AS score FROM a1 UNION SELECT name, "music" AS subject, music AS score FROM a1 ORDER BY name; 涉及知识点 1 添加列和值 Select ‘值‘ as 标题名 select ’该列下的的是原创 2021-06-14 22:53:23 · 260 阅读 · 0 评论
分享