A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© WENZISUN 中级黑马   /  2013-12-17 19:46  /  1068 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 WENZISUN 于 2013-12-18 22:06 编辑

row number用法,举些实例

2 个回复

倒序浏览
本帖最后由 许庭洲 于 2013-12-17 20:29 编辑

1. ROW_NUMBER OVER()函数可以计算每一行数据在结果中的行号(从1开始计数);
2. 使用语法:ROW_NUMBER OVER (排序规则);
3. 比如执行下面的SQL语句:
    SELECT ROW_NUMBER() OVER(ORDER BY FSalary), FNumber, FName, FSalary, FAge FROM T_Employee
    执行完毕就能在输出结果中看到下面的执行结果:
//////////////////////////////////////////2013-12-17/////////////////////////////
------------------------------------------------------------------------------------------
                          | FNumber  |  FName  |  FSalary |  FAge   |
      1                  |  DEV001   | Tom      |  8300.00| 25       |
      2                  |  SALES002| Kerry    |  6200.00 | 28      |
      3                  |  HR002     | Tina      |   5200.36| 25       |
      4                  |  SALES001| John     |  5000.00 | 23       |
      5                  |  IT001       | Smith    |  3900.00 | 28       |
      6                  |  IT002       | <NULL>|  2800.00 | 27       |
      7                  |  DEV002   |  Jerry     |  2300.00 | 28       |
------------------------------------------------------------------------------------------
//////////////////////////////////////////2013-12-17////////////////////////////////
4.  可以看到第一列中的数据就是通过ROW_NUMBER()计算出来的行号。





回复 使用道具 举报
select *
from (select * ,row_number()over(order by ID)  as Row from tab)as a
where row<=5
用法 row_number()over(order by ID) --order by 排序列
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马