FIRST_VALUE

2023-07-28 02:55:42  Updated

Syntax

FIRST_VALUE { (expr) [ {RESPECT | IGNORE} NULLS ] | (expr [ {RESPECT | IGNORE} NULLS ])} OVER (analytic_clause)

Purpose

FIRST_VALUE() returns the first value of the expr expression.

Examples

obclient> CREATE TABLE EXPLOYEES(LAST_NAME CHAR(10), SALARY DECIMAL, JOB_ID CHAR(32));
Query OK, 0 rows affected

obclient> INSERT INTO EXPLOYEES VALUES('JIM', 2000, 'CLEANER');
Query OK, 1 row affected

obclient> INSERT INTO EXPLOYEES VALUES('MIKE', 12000, 'ENGINEERING');
Query OK, 1 row affected

obclient> INSERT INTO EXPLOYEES VALUES('LILY', 13000, 'ENGINEERING');
Query OK, 1 row affected

obclient> INSERT INTO EXPLOYEES VALUES('TOM', 11000, 'ENGINEERING');
Query OK, 1 row affected

obclient> SELECT LAST_NAME, FIRST_VALUE(SALARY) OVER(PARTITION BY JOB_ID) FIRST_S, LAST_VALUE(SALARY) OVER(PARTITION BY JOB_ID) LAST_S, NTH_VALUE(SALARY,2) OVER(PARTITION BY JOB_ID) 2ND_S FROM EXPLOYEES;
+-----------+---------+--------+-------+
| LAST_NAME | FIRST_S | LAST_S | 2ND_S |
+-----------+---------+--------+-------+
| JIM       |    2000 |   2000 |  NULL |
| MIKE      |   12000 |  11000 | 13000 |
| LILY      |   12000 |  11000 | 13000 |
| TOM       |   12000 |  11000 | 13000 |
+-----------+---------+--------+-------+
4 rows in set

Contact Us