rownum优化 sqlserver_SQLServer 實現rownum 的功能

本文介绍了两种在SQL中获取特定行号范围数据的方法。第一种利用`row_number()`函数配合`over()`进行行号排序,然后筛选指定行数;第二种则使用`identity()`函数创建临时表,并通过`between`筛选行号。这两种方法在数据检索时非常实用。

方法1:

with temp as

( select row_number() over(order by cityID) as rownum,cityName from city )

select * from temp where rownum between 10 and 20

go

解釋:

1 此方法把括號里的查詢結果放到變量:temp 里面( 我也不確定是不是變量), 並用row_number() 函數進行一個行號跟蹤, 再用over 函數進行一個列的排序規則( 是這必須的), 並指定列名為'rownum'

2 緊接着在下面的語句可以對 'rownum' 進行一個指定行號的查詢

3 此批語句執行完畢后, 變量:temp 釋放

方法2:

select identity(int,1,1) as rownum, cityName into #temp from city

select * from #temp where rownum between 10 and 20

go

解釋:

此方法跟上面的差不多的意思, 只不過把 row_number() 函數換成了 identity() 函數

並把結果集放在一個臨時表里面, 當批語句執行完畢, 此臨時表還可以使用

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值