- 博客(6)
- 收藏
- 关注
原创 MYSQL学习笔记(6)
一些补充知识replace例题问题分析过程重写细节问题rows/rangeRANGE表示按照值的范围进行范围的定义,而ROWS表示按照行的范围进行范围的定义;“RANGE|ROWS BETWEEN 边界规则1 AND 边界规则2”部分用来定位聚合计算范围,这个子句又被称为定位框架。使用ROWS选项定义当前行的固定前后记录。这里看到的行取决于窗口的ORDER BY从句,也可以说在物理级别定义的窗口;RANGE 是逻辑窗口,是指定当前行对应值的范围取值,列数不固定,只要行值在范围内,对应列
2022-03-25 15:06:13 901
原创 MYSQL学习笔记(5)——聚合窗口函数
题目复盘——聚合窗口函数1SQL33 对试卷得分做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 2280
原创 MYSQL学习笔记(4)——窗口函数2
题目复盘——窗口函数2复盘两个难题SQL31 未完成率较高的50%用户近三个月答卷情况问题分析答案重写细节问题SQL31 未完成率较高的50%用户近三个月答卷情况问题分析答案重写细节问题...
2022-03-21 11:28:41 1229 1
原创 MYSQL学习笔记(3)——窗口函数
题目复盘——窗口函数题源牛客网——记录一下自己的学习窗口函数知识复盘窗口函数只能用在SELECT后1.专用窗口函数rank、dense_rank、row_number①rank、dense_rankrank:并列的项名词相同,且按照个数跳过后面的名次。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 1465
原创 MYSQL学习笔记(2)
SQL22 作答试卷得分大于80的人的用户等级分布问题分析(1)(2)(3)答案重写(1)多表联结法SELECT level,COUNT(distinct e_r.uid) level_cnt FROM exam_record e_rJOIN examination_info e_i ON e_i.exam_id=e_r.exam_idJOIN user_info u_i ON u_i.uid=e_r.uidWHERE score>80 AND tag='SQL'GROUP BY
2022-03-05 09:00:03 461
原创 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 664
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人