1簡介

T_sql 函數
rank()函數返回結果集分區內指定欄位的值的排名,指定欄位的值的排名是相關行之前的排名加一。
語法:
RANK() OVER([<partiton_by_clause>]<order by clause>)
partition_by_clause 將from子句生成的結果集劃分為應用到RANK函數的分區。
Order_by_clause確定將RANK值應用到分區中的行時所使用的順序。
以下用一個成績表作示例,
table 架構
s_score(s_class(班級),s_id(學號),s_score(分數))
SQL statement1:
Select rank() over(order by s_score desc) as 名次,s_class,s_id,s_score from s_score
網路釋義
rank
1.秩,秩次,等級
統計常用辭彙英漢對照(09) - 樂學網翻...
rank 秩,秩次,等級
2.秩
儀器分析中常用的數理統計英文辭彙包括概率論...
rank 秩
3.名次排列
撞球運動基本術語 - 音樂影視體育 - 人...
名次排列 rank
4.英雄聯盟(lol)術語
排位賽

2結果集

如下
名次 s_class s_id s_score
-------------------- ---------- ---------- -----------
1 二班 S20090733 100
2 一班 S20090635 99
3 三班 S20090919 97
4 一班 S20090846 96
5 一班 S20090825 95
6 二班 S20090715 94
7 三班 S20090836 91
8 二班 S20090631 86
SQL statement2:
Select rank() over(partition by s_class order by s_score desc) as 名次,s_class,s_id,s_score from s_score
結果集如下
名次 s_class s_id s_score
-------------------- ---------- ---------- -----------
1 三班 S20090919 97
2 三班 S20090836 91
1 二班 S20090733 100
2 二班 S20090715 94
3 二班 S20090631 86
1 一班 S20090635 99
2 一班 S20090846 96
3 一班 S20090825 95

3MATLAB函數

函數簡介
函數功能:在Matlab、FreeMat中,該函數的功能是,求一個矩陣的秩(rank)(矩陣中線性無關的行數/列數)。
語法格式:
y = rank(A)
求矩陣A的秩。
y = rank(A,tol)
其中tol參數是限定求秩時的誤差。
相關函數:det
程序示例
在FreeMat中的示例
--> A = [1 2 3; 4 5 6; 7 8 9];
--> det(A) % A的行列式為0
ans = 6.6613e-016
--> rank(A)
ans = 2
--> rank([1 0 0; 0 1 0; 0 0 1])
ans = 3
excel rank函數
rank函數是排名函數。rank函數最常用的是求某一個數值在某一區域內的排名。
rank函數語法形式:rank(number,ref,[order])
函數名後面的參數中 number 為需要求排名的那個數值或者單元格名稱(單元格內必須為數字),ref 為排名的參照數值區域,order的為0和1,默認不用輸入,得到的就是從大到小的排名,若是想求倒數第幾,order的值請使用1。
下面給出幾個rank函數的範例:
示例1:正排名
此例中,我們在B2單元格求20這個數值在 A1:A5 區域內的排名情況,我們並沒有輸入order參數,不輸入order參數的情況下,默認order值為0,也就是從高到低排序。此例中20在 A1:A5 區域內的正排序是1,所以顯示的結果是1。
示例2:倒排名
此例中,我們在上面示例的情況下,將order值輸入為1,發現結果大變,因為order值為1,意思是求倒數的排名,20在A1:A5 區域內的倒數排名就是4。
示例3:求一列數的排名
在實際應用中,我們往往需要求某一列的數值的排名情況,例如,我們求A1到A5單元格內的數據的各自排名情況。我們可以使用單元格引用的方法來排名:=rank(a1,a1:a5) ,此公式就是求a1單元格在a1:a5單元格的排名情況,當我們使用自動填充工具拖拽數據時,發現結果是不對的,仔細研究一下,發現a2單元格的公式居然變成了 =rank(a2,a2:a6) 這超出了我們的預期,我們比較的數據的區域是a1:a5,不能變化,所以,我們需要使用 $ 符號鎖定公式中 a1:a2 這段公式,所以,a1單元格的公式就變成了 =rank(a1,a$1:a$5)。
如果你不記得此函數如何使用,你可以點擊「插入」「函數」,類別選擇「全部」,然後任意選擇下方的一個函數名,然後按鍵盤上的「R」鍵,你很快就可以找到rank函數了,三個參數的用法如上所述。
上一篇[柴樺]    下一篇 [凱茜·貝茨]

相關評論

同義詞:暫無同義詞