![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
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 · 252 阅读 · 0 评论 -
通过 牛客每个人最近的登录日期(六) 彻底理解窗口函数
请你写出一个sql语句查询刷题信息,包括: 用户的名字,以及截止到某天,累计总共通过了多少题,并且查询结果先按照日期升序排序,再按照姓名升序排序本题涉及两个表 pass_number 表和user表窗口函数的本质是 ‘分组不去重合并’select * ,rank()over(partition by user_id ) from passing_number这里输出很明显可以看出 partition by 首先是一个分区的效果 其次是一个升序排序分区字段的效果 rank()或者其他函数会对分原创 2021-06-20 20:53:39 · 235 阅读 · 0 评论 -
浅析一下目前牛客网最难的一道SQL题
如图所示,牛客每个人最近的登录日期(五) 此题以通过率来看可以算是目前最难的一道题。我在做的过程中也是卡了挺久的,但最终在其他答案的点拨下做出来了。题所给的login表请你写出一个sql语句查询每个日期新用户的次日留存率,结果保留小数点后面3位数(3位之后的四舍五入),并且查询结果按照日期升序排序。1.先求出所有日期的新用户 select user_id,min(date) as date from login group by user_id2.求留存率的一般做法是利.原创 2021-06-20 19:53:31 · 747 阅读 · 0 评论 -
sql典型例题及知识点
1.问题解法SELECT name, "english" AS subject, english AS scoreFROM a1UNIONSELECT name, "maths" AS subject, maths AS scoreFROM a1UNIONSELECT name, "music" AS subject, music AS scoreFROM a1ORDER BY name;涉及知识点1 添加列和值Select ‘值‘ as 标题名select ’该列下的的是原创 2021-06-14 22:53:23 · 167 阅读 · 0 评论