Oracle 12c 之分析函数— FIRST_VALUE

本文介绍了Oracle 12c中的分析函数FIRST_VALUE,该函数用于返回有序值集合的第一个值。通过示例展示了如何在部门编号为90的部门中查找最低工资员工,探讨了当工资相同时,根据hire_date排序对结果的影响,强调了在使用FIRST_VALUE时正确排序的重要性。
摘要由CSDN通过智能技术生成

Oracle 12c 之分析函数— FIRST_VALUE

FIRST_VALUE是一个分析函数,它返回一个有序的值集合中的第一个值。如果集合中的第一个值为NULL,则函数将返回NULL,除非指定忽略NULL。

下面我们来看看如何使用这个分析函数:

以Oracle 12c Sample中的HR用户为例,查找部门编号为90部门的员工的最低工资:

SELECT employee_id, last_name, salary, hire_date, FIRST_VALUE(last_name) OVER (ORDER BY salary ASC ROWS UNBOUNDED PRECEDING) AS fv FROM (SELECT * FROM employees WHERE department_id = 90 ORDER BY hire_date);

SQL> set linesize 200;
SQL> set pagesize 999;
SQL> set timing on;
SQL> SELECT employee_id, last_name, salary, hire_date,
  2         FIRST_VALUE(last_name)
  3           OVER (ORDER BY salary ASC ROWS UNBOUNDED PRECEDING) AS fv
  4    FROM (SELECT * FROM employees
  5            WHERE department_id = 90
  6            ORDER BY hire_date);

EMPLOYEE_ID LAST_NAME                                              SALARY HIRE_DATE      FV
----------- -------------------------------------------------- ---------- -------------- --------------------------------------------------
        102 De Haan                                                 17000 13-1月 -01     De Haan
        101 Kochhar                                                 17000 21-9月 -05     De Haan
        100 King                               
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值