开窗函数与递归查询

本文详细介绍了SQL中的开窗函数,包括排名函数(row_number、rank、dense_rank)、最值、平均值、求和函数的应用,并通过实例展示了如何使用SUM、AVG、MAX、MIN等函数。同时,探讨了开窗子句的不同用法,如unbounded preceding、current row等。此外,还讲解了first_value、last_value、lag和lead函数的用法。最后,文章阐述了递归查询的概念,利用start with和connect by prior关键字查询员工的上下级关系。
摘要由CSDN通过智能技术生成

一、开窗函数的应用

1.排名函数的应用(row_number   rank    dense_rank)

1)、row_number()---忽略了排名并列的情况

2)、rank()-------考虑了并列的情况,并列第一之后是第三

3)、dense_rank()----考虑了并列的情况,并列第一之后是第二

2.最值、平均值、求和的函数(MAX  MIN AVG SUM  ) 

 SELECT E.ENAME,  --员工姓名
       E.DEPTNO,--员工部门
       E.SAL,--员工工资
       SUM(E.SAL) OVER(PARTITION BY E.DEPTNO) AS WAGE_SUM,--部门员工工资合计
       AVG(E.SAL) OVER(PARTITION BY E.DEPTNO) AS WAGE_AVG,--部门员工平均工资
       MAX(E.SAL) OVER(PARTITION BY E.DEPTNO ORDER BY E.SAL DESC) AS WAGE_MAX,   --部门内的最高工资
       MIN(E.SAL) OVER(PARTITION BY E.DEPTNO ORDER BY E.SAL) AS WAGE_MIN   --部门内的最低工资
FROM EMPP E;   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值