由於現在很多的企業招聘的筆試都會讓來招聘的寫乙個分頁的儲存過程,有的企業甚至要求應聘者用兩種方式實現分頁,如果沒有在實際專案中使用過分頁,那麼很多的應聘者都會出現一定的問題,下面介紹兩種分頁的方法。
一、 以學生表為例,在資料庫中有乙個student表,欄位有
studentno, ,loginpwd, studentname,***,classid,phone,address,borndate,email,isdel
要求:查詢學生的資訊,每頁顯示5條記錄
二、第一種方式分頁:利用子查詢 not in
例如:第一頁:
select top 5 * from student
第二頁:查詢前10條中不在前5條的記錄,那麼就是6-10,也就是第二頁
select top 5 * from student where studentno not in(select top 10 studentno from student)
同理可以得到第三頁。。。。。
這種方式相信大家都能明白,這種分頁的儲存過程寫法就不多做介紹,重點介紹下面那種分頁方法。
三、第二種方式分頁:利用row_number()這個自帶的函式
因為自05之後,提供乙個專門用於分頁的函式,那就是row_number()這個函式,分頁的基本語法:row_number() over(排序字段):可以根據指定的字段排序,對排序之後的結果集的每一行添
SQL SERVER 通用分頁儲存過程,兩種用法
從sqlserver 2005開始,提供了row number 函式,利用函式生成的index來處理分頁,按照正常的邏輯思維都是傳pageindex和pagesize來完成分頁,昨天前端和我溝通,他們使用jquery.datatable.js外掛程式,而且經過了公司底層的封裝,pageindex需要...
sqlserver分頁的兩種寫法分別介紹
第一種是最傳統的寫法,用儲存過程中的變數作為分頁的乘數 複製 如下 c sharifyaarp view plaincopyprint?create proc p paged1 pagesize int,currentpage int as select top pagesize from stud...
MS SQL 兩種分頁
row number row number declare pagesize int,pageindex intset pagesize 20 set pageindex 2 select from select row number over order by byod zzfp.id desc ...