SQL中分析函数first_value(),last_value,sum() over(partition by…)详解
首先,生成有一张原始表score,s_id表示学生id,c_id表示课程id,s_core表示最后课程的成绩,表结构数据如下所示:
首先,按照课程c_id进行分组,按照成绩s_core进行排序
select * ,row_number() over (partition by c_id order by s_score)rank_showfrom score
- 1
运行结果:
也就是说按照 c_id分组,s_score从小到大进行排序的话,s_id为06号的排第一,04号的排第二,以此类推。
1:FIRST_VALUE()
接着查看FIRST_VALUE()和LAST_VALUE()ÿ