取出資料庫特定範圍的資料
星期六, 十二月 26, 2009 | 標籤: MS SQL | 0 意見 |最近做專案遇到一個不錯的問題,就是如何可以在database裡取出一段特定範圍的record,這樣的敘述看這樣看起來沒啥感覺,我們舉個例子好了,像無名的相簿這樣..
程式是由pk來抓取出前兩筆record跟後兩筆record,加上目前的一共抓出5筆,這樣一解釋大家就懂啦..現在我們現在拿NorthWind的Orders來當範例吧(如果有無名的database我就拿無名的給大家分享..哈)..直接看code吧..
with temp as(
select row_number() over (order by OrderDate) as rn, *
from Orders
)
,RealOrder as(
select rn
from temp
where OrderID = '10261'
)
select *
from temp
where rn between ((select * from RealOrder)-5) and ((select * from RealOrder)+5)
這樣就可以取出指定的Orders前5筆跟後5筆record啦..簡單吧..
ps:這是在mssql2005以上才支援的語法啦,自己看著辦吧..
加入書籤:


