ntile

ntile(),函式,只能用作分析函式。

Ntile

語法: ntile(expr) over([partition_clause] order_by_clause)

可以看作是把有序的數據集合平均分配到expr指定的數量的桶中,將桶號分配給每一行。

如果不能平均分配,則較小桶號的桶分配額外的行,並且各個桶中能放的行數最多相差1。

例如如果桶的數量為4,一共有6行,則:

1號桶:1行,2行;

2號桶:3行,4行;

3號桶:5行;

4號桶:6行;

例如,NTILE列返回每一行所應該被分配的桶號。

SQL> select ename, sal, deptno,

ntile(4) over(partition by deptno order by sal) ntile

from emp;

ENAME SAL DEPTNO NTILE

-------------------- ---------- ---------- ----------

MILLER 1300 10 1

CLARK 2450 10 2

KING 5002 10 3

SMITH 800 20 1

ADAMS 1100 20 1

JONES 2975 20 2

SCOTT 3000 20 3

FORD 3000 20 4

JAMES 950 30 1

MARTIN 1250 30 1

WARD 1250 30 2

TURNER 1500 30 2

ALLEN 1600 30 3

BLAKE 2850 30 4

已選擇14行。

相關詞條

相關搜尋

熱門詞條

聯絡我們