首页 > 数据库 > Oracle > oracle分析函数
---排序
select
aa.a,aa.b,aa.c,rank() over(partition by a order by c desc)
from xjy_1 aa
----分组
SELECT manager_id,
first_name || ' ' || last_name employee_name,
hire_date,
salary,
AVG(salary) OVER(PARTITION BY manager_id) avg_salary
FROM employees;
----取某一行的数据
select aa.a,
aa.b,
aa.c,
sum(c) over(order by b range between 1 preceding and 1 following),---取前一行和后一行加上当前行
lag(c,1) over(order by b),---取前一行的数据
lead(c,1) over(order by b)---取后一行的数据
from xjy_1 aa
group by aa.a, aa.b, aa.c
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30180323/viewspace-2144483/ ,如需转载,请注明出处,否则将追究法律责任。