rank

王朝百科·作者佚名  2010-04-08
窄屏简体版  字體: |||超大  

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航