RANK() OVER([<partiton_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

排名函数是SQL Server2005新加的功能。在SQL Server2005中有如下四个排名函数:

  1.row_number

  2.rank

  3.dense_rank

  4.ntile  

dense_rank

  dense_rank函数的功能与rank函数类似,只是在生成序号时是连续的,而rank函数生成的序号有可能不连续。如上面的例子中如果使用dense_rank函数,第4条记录的序号应该是2,而不是4。如下面的SQL语句所示:

select dense_rank() over(order by field1),* from t_table order by field1

详解:http://www.cnblogs.com/xhyang110/archive/2009/10/27/1590448.html

sql rank()函数的更多相关文章

  1. SQL Server2008函数大全(完整版)

    SQL2008 表达式:是常量.变量.列或函数等与运算符的任意组合. 1. 字符串函数 函数 名称 参数 示例 说明 ascii(字符串表达式) select ascii('abc') 返回 97 返 ...

  2. SQL server函数大全

    函数类别 作用 聚合函数 执行的操作是将多个值合并为一个值.例如 COUNT.SUM.MIN 和MAX. 配置函数 是一种标量函数,可返回有关配置设置的信息. 转换函数 将值从一种数据类型转换为另一种 ...

  3. SQL SERVER 函数大全[转]

    SQL Server 函数大全 一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下 ...

  4. oracle 分组中排序(rank函数)

    需求: 查询每个供应商在每个类型产品销售的top50中有多少 分析: 1.查询,以指定字段(供应商.产品类型)分组,取每个分组的前50行,查看每个供应商的数量 2.使用rank函数给每个供应商.每个类 ...

  5. 【转载】SQL SERVER 函数大全

    SQL Server 函数大全 一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下 ...

  6. SQL常用函数集锦

    ..STUFF()用另一子串替换字符串指定位置.长度的子串.STUFF (<character_expression1>, <start_ position>, <len ...

  7. Oracle查询部门工资最高员工的两种方法 1、MAX()函数 2、RANK()函数

      本文以SCOTT用户下初始的EMP表为参考.代码可直接使用.   查询EMP表结构的语句如下,[代码1]: DESC EMP;   EMP表结构如下:[结果1]: SQL> DESC EMP ...

  8. SQL Server 函数大全

    本文链接:https://blog.csdn.net/qq_15028299/article/details/81330854SQL2008 表达式:是常量.变量.列或函数等与运算符的任意组合.htt ...

  9. sql 判断 函数 存储过程是否存在的方法

    下面为您介绍sql下用了判断各种资源是否存在的代码,需要的朋友可以参考下,希望对您学习sql的函数及数据库能够有所帮助.库是否存在if exists(select * from master..sys ...

随机推荐

  1. iOS中获取各种文件的目录路径的方法

    我们的app在手机中存放的路径是:/var/mobile/Applications/4434-4453A-B453-4ADF535345ADAF344 后面的目录4434-4453A-B453-4AD ...

  2. Android想服务器传图片,透过流的方式。还有读取服务器图片(文件),也通过流的方式。

    /** * Created by Administrator on 2016/7/19. */ import android.util.Log; import com.gtercn.asPolice. ...

  3. mysql导入导出,及错误记录

    进入mysql的bin目录,如果mysql的bin添加了环境变量则不用. 导出,不指定编码则默认为:utf8mb4.: mysqldump -u root -h 127.0.0.1 -P 3307 - ...

  4. MT4平台经验总结

    https://www.mql5.com/zh/code/8462 https://www.mql5.com/zh/code/8074 https://www.mql5.com/zh/code/787 ...

  5. 如何使用XShell登录亚马逊EC2云服务器

    http://jingyan.baidu.com/article/a3a3f811d5fc338da2eb8a00.html

  6. iOS ReactiveCocoa简单使用笔记

    涉及对象: 两个输入框,一个按钮. 代码功能: 随时监测输入框内容的长度变化,并在输入内容不符合预设要求时,立即改变输入框背景色. 在两个输入框的内容都符合预设要求时,按钮才可用. RACSignal ...

  7. 2016中国大学生程序设计竞赛 - 网络选拔赛 J. Alice and Bob

    Alice and Bob Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) ...

  8. [Leetcode] Decode Ways

    A message containing letters from A-Z is being encoded to numbers using the following mapping: 'A' - ...

  9. csipsimple 出现单通情况

    今天在测试voip电话时,突然打不通了和windows端也不通,boss发怒了. 经过排查,发现设置G729编码 //设置G729编码 prefs.setCodecPriority("g72 ...

  10. ibatis #于 $区别

    系统框架用ibatis,开发中ibatis配置文件中执行order by #orderByClause# ,怎么搞都没有效果, 后面改成 order by $orderByClause$,OK,问题解 ...