rank[函式]

rank[函式]
rank[函式]
更多義項 ▼ 收起列表 ▲

rank是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

結果集

如下

名次 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

詞典解釋

rank1

名詞 n.

1.等級;地位,身份[C][U]

They catered for everyone regardless of social rank.

他們為所有人服務而不計較其社會地位。

2.社會階層;軍階,軍銜[C][U]

He was promoted to the rank of captain.

他被提升到上尉軍階。

3.高地位,高身份,顯貴[U]

4.排,橫列;【軍】行列[C]

5.隊伍;軍隊;士兵[the P]

He joined the ranks of the unemployed, too.

他也加入了失業的行列。

6.秩序,隊形[U]

及物動詞 vt.

1.排列,把...排成行[H]

The company commander ranked his soldiers in a column four deep.

連長將士兵們排成四列縱隊。

2.把...分等;把...評級[O]

She ranked her students according to their grades.

她按成績排列學生的名次。

3.等級高於

A major ranks a captain.

少校軍階高於上尉。

4.【俚】揭露;欺瞞;責難[(+out)]

They'll rank you for the accident.

他們要你對這次事故負責。

不及物動詞 vi.

1.列為[Q]

They ranked high in their class.

他們是班上的優等生。

2.列隊;列隊行進[(+past/off)]

3.處於最高地位

The major general ranks at this camp.

少將是這個營地的最高級軍官。

4.【俚】抱怨

rank2

形容詞 a.

1.繁茂的;叢生的;過於茂盛的

2.多雜草的;易生雜草的[(+with)]

The garden is rank with weeds.

花園長滿了雜草。

3.過於多產的;過於肥沃的[(+with)]

4.臭氣難聞的;(味道等)令人討厭的[(+with)]

The rank smell of vomit reached me.

我聞到了嘔吐物的臭氣。

5.粗鄙的,下流的

Never use rank language.

千萬別說粗話。

6.【貶】十足的[B]

This is rank nonsense.

這是十足的胡說八道。

網路釋義

rank

1.秩,秩次,等級

統計常用辭彙英漢對照(09) - 樂學網翻...

rank 秩,秩次,等級

2.秩

儀器分析中常用的數理統計英文辭彙包括機率論...

rank 秩

3.名次排列

檯球運動基本術語 - 音樂影視體育 - 人...

名次排列 rank

4.英雄聯盟(lol)術語

排位賽

MATLAB函式

函式簡介

函式功能:在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

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函式了,三個參數的用法如上所述。

相關詞條

相關搜尋

熱門詞條

聯絡我們