宣言
MAX([ DISTINCT | ALL ] expr) OVER (analytic_clause)
説明
指定されたデータの中で最大値を返します。
MAX() の引数は文字列パラメータにすることができ、その場合、最大の文字列値を返します。
DISTINCTキーワードは、exprの異なる値の中で最大値を検索することを示します。この結果は、DISTINCTを省略した場合と同じです。ALLキーワードは、すべてのexprの値を検索することを示します。デフォルトはALLです。
例
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, MAX(SALARY) OVER (PARTITION BY JOB_ID) MAX_S FROM EXPLOYEES;
+-----------+-------+
| LAST_NAME | MAX_S |
+-----------+-------+
| JIM | 2000 |
| MIKE | 13000 |
| LILY | 13000 |
| TOM | 13000 |
+-----------+-------+
4 rows in set