SQL |
您所在的位置:网站首页 › 开窗函数lag › SQL |
目录 OVER()函数 例子 lag()函数和lead()函数 OVER()函数 OVER(PARTITION BY Year ORDER BY Month DESC ) 数据会根据Year字段进行分组,按照Month字段降序排列 OVER()利用Year进行分组,然后利用Month进行组内排序 加一些分析函数 比如row_number():可以在over函数执行的基础上对Month进行不重复排序 比如在over函数基础上加Rank()函数 ,就是随机那种了Month的话就会重复排序,并且over函数不相同的month——>不会保持原本的排序,比如1后面就直接56了 如果想要保持顺序,我们可以用Dense_rank()函数将后面的元素进行跟序排序 按班级进行分组,然后按成绩进行排序 sum(score) over(partition by class_id order by score desc) 根据班级ID进行分组,成绩降序排列,再将成绩依次递增 例子每个部门进行薪水排名——>扩展:取每个部门的第一个或者最后一名 select department_id,rank() over(partition by department_id order by salary) from employees查询每个学生的分数最高的前3门课程 SELECT * FROM( SELECT stu_id, ROW_NUMBER() OVER (PARTITION BY stu_id ORDER BY score DESC) AS score_ order, lesson_id, score FROM t_score) t WHERE score_order r and r is not null |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |