新聞中心
RANK 函數(shù)基于 OVER 子句中的 ORDER BY 表達(dá)式確定一組值的排名。當(dāng)有相同排序值時(shí),將會(huì)有相同的排名,并且值相同的行數(shù)會(huì)被記錄到下個(gè)排名中。

成都創(chuàng)新互聯(lián)是一家以成都網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、品牌設(shè)計(jì)、軟件運(yùn)維、成都網(wǎng)站營(yíng)銷、小程序App開(kāi)發(fā)等移動(dòng)開(kāi)發(fā)為一體互聯(lián)網(wǎng)公司。已累計(jì)為成都木制涼亭等眾行業(yè)中小客戶提供優(yōu)質(zhì)的互聯(lián)網(wǎng)建站和軟件開(kāi)發(fā)服務(wù)。
語(yǔ)法
RANK() OVER ( [ PARTITION BY expr_list ] [ ORDER BY order_list ])
參數(shù)
|
參數(shù) |
說(shuō)明 |
|---|---|
OVER | 使用 |
PARTITION BY [col1, col2..] | 指定開(kāi)窗口的列。 |
ORDER BY col1[asc|desc] | 指定排名依據(jù)的值。 |
expr_list | 是數(shù)值類型或者可以轉(zhuǎn)換成數(shù)值類型的類型。 |
order_list | 定義排名值參考的數(shù)據(jù)列。 |
示例
建表 course,并向 name 和 grade 列插入數(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 ,RANK() over(ORDER BY grade DESC) FROM course;查詢結(jié)果如下:
+-------+-------+------------------------------+
| NAME | GRADE | RANK()OVER(ORDERBYGRADEDESC) |
+-------+-------+------------------------------+
| John | 95 | 1 |
| Tom | 90 | 2 |
| Tan | 85 | 3 |
| Apple | 80 | 4 |
| Tonny | 75 | 5 |
| Rose | 70 | 6 |
| Jack | 65 | 7 |
| Peter | 60 | 8 |
| Mery | 55 | 9 |
| Linda | 50 | 10 |
+-------+-------+------------------------------+ 名稱欄目:創(chuàng)新互聯(lián)OceanBase教程:OceanBaseRANK
地址分享:http://fisionsoft.com.cn/article/djgchoc.html


咨詢
建站咨詢
