over不能单独使用,要和分析函数:rank(),dense_rank(),row_number()等一起使用。常用作排序、获得行号等。
如:1.在部门10,20,30中进行部门内薪水排名的sql写法为:
其中的over与rank联用,partition by 感觉像group by,指定分组的依据,order by指定排序的字段。
2.使用行号的一个应用
如:1.在部门10,20,30中进行部门内薪水排名的sql写法为:
select deptno ,ename,empno ,sal ,rank() over(partition by deptno order by sal desc) from emp; 其中的over与rank联用,partition by 感觉像group by,指定分组的依据,order by指定排序的字段。
2.使用行号的一个应用
select ename from (select row_number() over (order by ename) rn,ename
from emp) where mod(rn,2)=1;
本文介绍了 SQL 中 over 函数的应用场景及其实现方法。通过两个具体案例,详细讲解了如何结合 rank() 和 row_number() 函数进行部门内薪资排名及选取特定行号的数据。对于希望掌握 SQL 分析函数的读者来说,本文提供了实用的操作指南。
1160

被折叠的 条评论
为什么被折叠?



