SQL Server 2005 行號(轉)http://hi.baidu.com/hcjfy/blog/item/3fb98350b25c216684352441.html
来源:互联网 发布:手机知乎粘贴 编辑:程序博客网 时间:2024/05/16 16:15
下面介绍一个SQL Server 2005 中的新东东:
ROW_NUMBER
返回结果集分区内行的序列号,每个分区的第一行从 1 开始。
语法:
ROW_NUMBER ( ) OVER ( [ <partition_by_clause> ] <order_by_clause> )
备注:
ORDER BY 子句可确定在特定分区中为行分配唯一 ROW_NUMBER 的顺序。
参数:
<partition_by_clause>
将 FROM 子句生成的结果集划入应用了 ROW_NUMBER 函数的分区。
<order_by_clause>
确定将 ROW_NUMBER 值分配给分区中的行的顺序。
返回类型:
bigint
示例:
SELECT * INTO #T
FROM(
SELECT 2 F1, 'AA' F2, '101' F3 UNION ALL
SELECT 1 F1, 'AA' F2, '102' F3 UNION ALL
SELECT 4 F1, 'BB' F2, '103' F3 UNION ALL
SELECT 5 F1, 'CC' F2, '104' F3 UNION ALL
SELECT 3 F1, 'AA' F2, '105' F3 UNION ALL
SELECT 7 F1, 'BB' F2, '106' F3 UNION ALL
SELECT 6 F1, 'CC' F2, '107' F3 UNION ALL
SELECT 5 F1, 'CC' F2, '108' F3
) T1
--1
SELECT row_number() OVER (ORDER BY F1 ASC) AS F1Order, * FROM #T
--先按照F1顺序,再加上顺序号F1Order,结果如下:
F1Order F1 F2 F3
-------------------- ----------- ---- ----
1 1 AA 102
2 2 AA 101
3 3 AA 105
4 4 BB 103
5 5 CC 104
6 5 CC 108
7 6 CC 107
8 7 BB 106
--2
SELECT row_number() OVER (ORDER BY F1 DESC) AS F1Order, * FROM #T
--先按照F1倒序,再加上顺序号F1Order,结果如下:
F1Order F1 F2 F3
-------------------- ----------- ---- ----
1 7 BB 106
2 6 CC 107
3 5 CC 108
4 5 CC 104
5 4 BB 103
6 3 AA 105
7 2 AA 101
8 1 AA 102
--3
SELECT row_number() OVER (ORDER BY F1 ASC) AS F1Order, * FROM #T ORDER BY F1 ASC
--先按照F1顺序,再加上顺序号F1Order,再把结果按F1顺序显示,结果如下:
F1Order F1 F2 F3
-------------------- ----------- ---- ----
1 1 AA 102
2 2 AA 101
3 3 AA 105
4 4 BB 103
5 5 CC 104
6 5 CC 108
7 6 CC 107
8 7 BB 106
FROM(
SELECT 2 F1, 'AA' F2, '101' F3 UNION ALL
SELECT 1 F1, 'AA' F2, '102' F3 UNION ALL
SELECT 4 F1, 'BB' F2, '103' F3 UNION ALL
SELECT 5 F1, 'CC' F2, '104' F3 UNION ALL
SELECT 3 F1, 'AA' F2, '105' F3 UNION ALL
SELECT 7 F1, 'BB' F2, '106' F3 UNION ALL
SELECT 6 F1, 'CC' F2, '107' F3 UNION ALL
SELECT 5 F1, 'CC' F2, '108' F3
) T1
--1
SELECT row_number() OVER (ORDER BY F1 ASC) AS F1Order, * FROM #T
--先按照F1顺序,再加上顺序号F1Order,结果如下:
F1Order F1 F2 F3
-------------------- ----------- ---- ----
1 1 AA 102
2 2 AA 101
3 3 AA 105
4 4 BB 103
5 5 CC 104
6 5 CC 108
7 6 CC 107
8 7 BB 106
--2
SELECT row_number() OVER (ORDER BY F1 DESC) AS F1Order, * FROM #T
--先按照F1倒序,再加上顺序号F1Order,结果如下:
F1Order F1 F2 F3
-------------------- ----------- ---- ----
1 7 BB 106
2 6 CC 107
3 5 CC 108
4 5 CC 104
5 4 BB 103
6 3 AA 105
7 2 AA 101
8 1 AA 102
--3
SELECT row_number() OVER (ORDER BY F1 ASC) AS F1Order, * FROM #T ORDER BY F1 ASC
--先按照F1顺序,再加上顺序号F1Order,再把结果按F1顺序显示,结果如下:
F1Order F1 F2 F3
-------------------- ----------- ---- ----
1 1 AA 102
2 2 AA 101
3 3 AA 105
4 4 BB 103
5 5 CC 104
6 5 CC 108
7 6 CC 107
8 7 BB 106
--4
SELECT row_number() OVER (ORDER BY F1 ASC) AS F1Order, * FROM #T ORDER BY F1 DESC
--先按照F1顺序,再加上顺序号F1Order,再把结果按地F1倒序显示,注意顺序号F1Order也倒过来了,保持位置相对不变,结果如下:
F1Order F1 F2 F3
-------------------- ----------- ---- ----
8 7 BB 106
7 6 CC 107
5 5 CC 104
6 5 CC 108
4 4 BB 103
3 3 AA 105
2 2 AA 101
1 1 AA 102
- SQL Server 2005 行號(轉)http://hi.baidu.com/hcjfy/blog/item/3fb98350b25c216684352441.html
- SQL Server中动态执行SQL语句(转自:http://hi.baidu.com/senty/blog/item/5d6d36d3dc89a5073bf3cf3e.html)
- http://hi.baidu.com/edeed/blog/item/3e92277f7a15830028388aec.html
- Sql Server中通配符的使用(来源:http://hi.baidu.com/txm506/blog/item/58a84ecbe8fe551cbf09e67b.html)
- 解决SQL Server 2005 安装程序中的 COM+ 系统配置检查失败问题(http://hi.baidu.com/huqiwen/blog/item/fdd7838b2d6ac9d5fd1f10cc.html)
- http://hi.baidu.com/heyg/blog/item/9ca8dcc4785706cb38db4937.html
- http://hi.baidu.com/suwey/blog/item/9b4d72c238e7e334e5dd3bc0.html
- http://hi.baidu.com/lhcling/blog/item/0e3e60cfa55aca3ef8dc61c0.html
- http://hi.baidu.com/jmugis/blog/item/ad03b11f89a25ef6e1fe0b18.html
- http://hi.baidu.com/nnffnn/blog/item/e84cd15c1d893943faf2c07c.html
- http://hi.baidu.com/herowzz/blog/item/286e3c546eb23157574e0077.html
- http://hi.baidu.com/kacaca/blog/item/1fd412d644f9f42907088b89.html
- http://hi.baidu.com/sophie198384/blog/item/26960501e9a757021d9583a0.html
- http://hi.baidu.com/123az/blog/item/f482f51980e8e04642a9ad6c.html
- http://hi.baidu.com/zonesky/blog/item/328d9807043c2ccb7a894717.html
- http://hi.baidu.com/shasha1918/blog/item/ee5fdf18f049fc0235fa4187.html
- http://hi.baidu.com/620734263/blog/item/513a102fa4a551424ec226f8.html
- http://hi.baidu.com/jisu3d/blog/item/f7ad4fd0ac727526960a1652.html HLSL
- VC数据类型转换大全 (转)
- C#.NET 中的类型转换
- 警告: 网页已经过期
- jsp如何做验证码
- VGA
- SQL Server 2005 行號(轉)http://hi.baidu.com/hcjfy/blog/item/3fb98350b25c216684352441.html
- S-Video
- c++程序员修炼真经
- 用 js 正则 过滤 img 标签
- RJ-11接口
- 漫漫人生路
- RJ-45插头
- mSDN
- 中国情诗名句排行榜,哪一句你最钟情?