-1
是否有任何方法可以從一個起點取一個表並選擇10條記錄,但是如果到達表的末尾,則返回到起點?所以一個100條記錄的表格,從95條記錄開始選擇10條記錄將是95-100和1-4。從表中選擇,如果到達結束從MSSQL中的開始選擇
是否有任何方法可以從一個起點取一個表並選擇10條記錄,但是如果到達表的末尾,則返回到起點?所以一個100條記錄的表格,從95條記錄開始選擇10條記錄將是95-100和1-4。從表中選擇,如果到達結束從MSSQL中的開始選擇
假設你有一個記錄編號的列,那麼你可以使用算法來定義排序:
select t.*
from table t
order by (recnum + (100 - 95)) % 100) ;
如果不是:
select t.*
from table t cross join (select count(*) as cnt from t) x
order by (recnum + (x.cnt - 95)) % x.cnt) ;
如果您的記錄未按順序編號,那麼你可以添加數字:
select t.*
from (select t.*, count(*) over() as cnt,
row_number() over (order by recnum) as seqnum
from table t
) t
order by (seqnum + (cnt - 95)) % cnt) ;
當然,Union選擇頂部並選擇底部或智能使用行號。你到目前爲止嘗試過什麼? – jean