W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
NTILE
函數(shù)將有序數(shù)據(jù)集劃分為 expr
指示的若干桶,并為每一行分配適當(dāng)?shù)耐疤?hào)。桶編號(hào)為 1 到 expr
。 對(duì)于每個(gè)分區(qū),expr
值必須解析為正常數(shù)。如果 expr
是一個(gè)非整數(shù)常量,則 OceanBase 將該值截?cái)酁檎麛?shù)。 返回值為 NUMBER
。
桶中的行數(shù)最多可以相差 1,其余值(行數(shù)的其余部分除以桶)為每個(gè)桶分配一個(gè),從桶 1 開(kāi)始。如果 expr
大于行數(shù),則將填充與行數(shù)相等的多個(gè)桶,其余的桶將為空。
您不能通過(guò)使用 NTILE
或任何其他分析函數(shù)來(lái)嵌套分析函數(shù)。 但是您可以將其他內(nèi)置函數(shù)表達(dá)式用在 expr
中。
NTILE(expr) OVER ([query_partition_clause] order_by_clause)
參數(shù) |
說(shuō)明 |
---|---|
expr |
只能為正常數(shù)。 |
OVER |
使用 |
返回 NUMERIC
類型數(shù)據(jù)。
根據(jù)成績(jī)將同學(xué)分成四個(gè)等級(jí),為學(xué)生評(píng)獎(jiǎng)。創(chuàng)建表 course,并向里面插入數(shù)據(jù),執(zhí)行以下語(yǔ)句:
CREATE TABLE course
(
name VARCHAR(8),
grade NUMBER
);
INSERT INTO course VALUES('Linda',50);
INSERT INTO course VALUES('Tan',85);
INSERT INTO course VALUES('Tom',90);
INSERT INTO course VALUES('John',95);
INSERT INTO course VALUES('Mery',55);
INSERT INTO course VALUES('Peter',60);
INSERT INTO course VALUES('Jack',65);
INSERT INTO course VALUES('Rose',70);
INSERT INTO course VALUES('Tonny',75);
INSERT INTO course VALUES('Apple',80);
COMMIT;
執(zhí)行以下語(yǔ)句:
SELECT name, grade, ntile(4) OVER (ORDER BY grade DESC) til FROM course;
查詢結(jié)果如下:
+-------+-------+------+
| NAME | GRADE | TIL |
+-------+-------+------+
| John | 95 | 1 |
| Tom | 90 | 1 |
| Tan | 85 | 1 |
| Apple | 80 | 2 |
| Tonny | 75 | 2 |
| Rose | 70 | 2 |
| Jack | 65 | 3 |
| Peter | 60 | 3 |
| Mery | 55 | 4 |
| Linda | 50 | 4 |
+-------+-------+------+
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: