create procedure p_News @pageSize int,@pageIndex int as begin select * from( select *,Row_Number() over(order by Id) as [$Row_Num] from News --where [$Row_Num]<=3 這個時候行號不能用,必須全部執行完畢以后才會產生 )as _temp where [$Row_Num] between (@pageIndex*pageSize+1) and (@pageIndex+1)*@pageSize end --注意參數的設置,java調用時 String sql="{call p_News(?,?)}" --select Row_Number() over(order by id) RN,* from News where id ID>3 給最終的結果編一個號,一個連續的號 --order by必須寫在括號里面,因為寫在from News 后面會報 sql的錯誤:除非另外還指定了 TOP 或 FOR XML,否則,ORDER BY 子句在視圖、內聯函數、派生表、子查詢和公用表表達式中無效。