- 博客(6)
- 收藏
- 关注
原创 MYSQL学习笔记(6)
一些补充知识 replace 例题 问题分析 过程重写 细节问题 rows/range RANGE表示按照值的范围进行范围的定义,而ROWS表示按照行的范围进行范围的定义; “RANGE|ROWS BETWEEN 边界规则1 AND 边界规则2”部分用来定位聚合计算范围,这个子句又被称为定位框架。 使用ROWS选项定义当前行的固定前后记录。这里看到的行取决于窗口的ORDER BY从句,也可以说在物理级别定义的窗口; RANGE 是逻辑窗口,是指定当前行对应值的范围取值,列数不固定,只要行值在范围内,对应列
2022-03-25 15:06:13
1047
原创 MYSQL学习笔记(5)——聚合窗口函数
题目复盘——聚合窗口函数1 SQL33 对试卷得分做min-max归一化 问题分析 (1)高难度试卷——exam_record left join examination_info on…where difficulty=‘hard’ (2)得分在每份试卷作答记录内执行min-max归一化后缩放到[0,100]—— 聚合窗口函数找每个exam_id试卷内的最大最小值: select uid,exam_id, score,min(score)over(partition by exam_id) min_
2022-03-22 15:15:41
2543
原创 MYSQL学习笔记(4)——窗口函数2
题目复盘——窗口函数2 复盘两个难题 SQL31 未完成率较高的50%用户近三个月答卷情况 问题分析 答案重写 细节问题 SQL31 未完成率较高的50%用户近三个月答卷情况 问题分析 答案重写 细节问题 ...
2022-03-21 11:28:41
1386
1
原创 MYSQL学习笔记(3)——窗口函数
题目复盘——窗口函数 题源牛客网——记录一下自己的学习 窗口函数知识复盘 窗口函数只能用在SELECT后 1.专用窗口函数 rank、dense_rank、row_number ①rank、dense_rank rank:并列的项名词相同,且按照个数跳过后面的名次。e:1、2、3、3、5 rank () over (partition by 分组字段名 order by 排序字段名 rows between 1 preceding and 1 foll
2022-03-10 21:57:07
1626
原创 MYSQL学习笔记(2)
SQL22 作答试卷得分大于80的人的用户等级分布 问题分析 (1) (2) (3) 答案重写 (1)多表联结法 SELECT level,COUNT(distinct e_r.uid) level_cnt FROM exam_record e_r JOIN examination_info e_i ON e_i.exam_id=e_r.exam_id JOIN user_info u_i ON u_i.uid=e_r.uid WHERE score>80 AND tag='SQL' GROUP BY
2022-03-05 09:00:03
556
原创 MYSQL学习笔记(1)
题目复盘 SQL14 得分求截断平均值 截断平均值:去掉一个最大值和一个最小值后的平均值。 问题分析 (1)条件拆分:SQL类别+高难度————用WHERE限制; (2)数据计算:去掉最大最小值————首先想到了排序之后LIMIT再AVG这样反而麻烦了————用(SUM-MAX-MIN)/COUNT最简洁; (3)用户答题与难度类别对应起来————用JOIN ON内联结; (4)结果保留一位小数————用ROUND(,1); 答案重写 SELECT tag,difficulty, ROUND(((SUM
2022-02-22 21:31:06
818
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅