The FIRST Function in Oracle SQL / PLSQL is used to get the FIRST value in an ordered set of records.
The FIRST function can be used with the following functions.
- MIN()
- MAX()
- COUNT()
- SUM()
- AVG()
- STDDEV() and
- VARIANCE()
Syntax for using the FIRST function in Oracle SQL / PLSQL is ;
SELECT
AGGREGATE_FUNCTION() KEEP (RANK_FUNCTION FIRST ORDER BY AGGREGATE_FUNCTION(column))
FROM table
GROUP BY column(s);
Suppose we have a table named ‘employee’ as shown below:
Employee_ID | Employee_Name | Salary | Department | Commission |
101 | Emp A | 10000 | Sales | 10 |
102 | Emp B | 20000 | IT | 20 |
103 | Emp C | 28000 | IT | 20 |
104 | Emp D | 30000 | Support | |
105 | Emp E | 32000 | Sales | 10 |
106 | Emp F | 40000 | Sales | 10 |
107 | Emp G | 12000 | Sales | 10 |
108 | Emp H | 12000 | Sales | 10 |
Now, suppose we want to get the name of the department where the total salary being given is lesser than the total of salary in any other department, then we can achieve the same using FIRST function as:
SELECT MAX(department) KEEP (DENSE_RANK FIRST ORDER BY SUM(salary)) Min_Sal_Department FROM employee GROUP BY department;
We will get the following result:
MIN_SAL_DEPARTMENT |
Support |
Here we can see that we have successfully fetched the name of the department in which the total salary is lesser than total salary of any other department.