宣言
NTILE(expr) OVER ([ query_partition_clause ] order_by_clause)
説明
パーティション内のソート済み行を、可能な限り均等なサイズに分割し、指定された数のグループに分けて、各行に対するグループ番号を返します。exprがNULL場合は、NULL返します。
例
obclient> CREATE TABLE employees(LAST_NAME CHAR(10), SALARY DECIMAL, JOB_ID CHAR(32));
INSERT INTO employees VALUES('JIM', 2000, 'CLEANER');
INSERT INTO employees VALUES('MIKE', 12000, 'ENGINEERING');
INSERT INTO employees VALUES('LILY', 13000, 'ENGINEERING');
INSERT INTO employees VALUES('TOM', 11000, 'ENGINEERING');
COMMIT;
Query OK, 0 rows affected
obclient> SELECT LAST_NAME, NTILE(10) OVER(PARTITION BY JOB_ID ORDER BY SALARY) NTL FROM employees;
+-----------+------+
| LAST_NAME | NTL |
+-----------+------+
| JIM | 1 |
| TOM | 1 |
| MIKE | 2 |
| LILY | 3 |
+-----------+------+
4 rows in set