RANK函数

函数简介  返回结果集分区内指定字段的值的排名,指定字段的值的排名是相关行之前的排名加一。

语法

  RANK() OVER([<partiton_by_clause>]<order by clause>)

参数

  partition_by_clause 将from子句生成的结果集划分为应用到RANK函数的分区。
  Order_by_clause确定将RANK值应用到分区中的行时所使用的顺序。

SQL使用示例

  以下用一个成绩表作示例
  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

你可能感兴趣的:(sql,table,Class)