使用row_number()實現分頁實例
更新時間:2013年11月21日 16:02:51 作者:
或許大家不知道,其實使用row_number()是可以實現分頁的,下面有個不錯的示例,大家可以嘗試操作下
復制代碼 代碼如下:
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 這個時候行號不能用,必須全部執(zhí)行完畢以后才會產生
)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 給最終的結果編一個號,一個連續(xù)的號
--order by必須寫在括號里面,因為寫在from News 后面會報 sql的錯誤:除非另外還指定了 TOP 或 FOR XML,否則,ORDER BY 子句在視圖、內聯函數、派生表、子查詢和公用表表達式中無效。
您可能感興趣的文章:
- oracle中rownum和row_number()
- 利用ROW_NUMBER() OVER函數給SQL數據庫中每一條記錄分配行號的方法
- Mysql row number()排序函數的用法和注意
- SQL中distinct 和 row_number() over() 的區(qū)別及用法
- MYSQL row_number()與over()函數用法詳解
- SQL使用ROW_NUMBER() OVER函數生成序列號
- MySQL中rank() over、dense_rank() over、row_number() over用法介紹
- SQL中row_number()?over(partition?by)的用法說明
- Row_number()函數用法小結
- 數據庫中row_number()?分組排序函數的具體使用
相關文章
SQL Server中使用SQL語句實現把重復行數據合并為一行并用逗號分隔
這篇文章主要介紹了SQL Sever中使用SQL語句實現把重復行數據合并為一行并用逗號分隔,本文給出了兩種實現方式,需要的朋友可以參考下2015-02-02
IN&EXISTS與NOT IN&NOT EXISTS 的優(yōu)化原則小結
下面只是從理論上提出了一些建議,最好的原則是大家在上面的基礎上,能夠使用執(zhí)行計劃來分析,得出最佳的語句的寫法。2010-06-06
SQL Server統計信息更新時采樣百分比對數據預估準確性的影響詳解
這篇文章主要給大家介紹了關于SQL Server統計信息更新時采樣百分比對數據預估準確性影響的相關資料,文中通過圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2018-09-09
SQL SERVER 與ACCESS、EXCEL的數據轉換方法分享
熟悉SQL SERVER 2000的數據庫管理員都知道,其DTS可以進行數據的導入導出,其實,我們也可以使用Transact-SQL語句進行導入導出操作2012-02-02
sqlserver關于分頁存儲過程的優(yōu)化【讓數據庫按我們的意思執(zhí)行查詢計劃】
先來對比兩段分頁SQL,假設條件:news表有15萬記錄,NewsTypeId=10有9萬記錄,當前查詢NewsTypeID=10。那么,你會認為哪個SQL效率會高呢?2011-08-08

