1. 程式人生 > >sqlserver 分頁

sqlserver 分頁

目前只會這一種,方法可能有點笨,但確實實用,如有大佬提供其他方法學習不勝感激。

下面可以直接複製然後把查詢語句扔進去就可以了,雖然不建議這麼做,但是理解了這麼做也無可厚非嘛^_^

 SELECT w1.* FROM (查詢語句) w1,(SELECT TOP end row_number() OVER (ORDER              BY w1.id ASC) n, ID FROM (查詢語句) w1) w2 WHERE w1.ID = w2.ID AND w2.n > start             ORDER BY w2.n ASC;

  1. 查詢語句部分就是你要查詢的內容,單表或多表聯合查詢什麼的;
  2. start就是起始位置,end就是終止位置。舉個栗子吧,比如當前頁是第一頁,每頁顯示5條,那麼start=(當前頁-1)*每頁條數也就是0了,如果是第二頁就是5,因為沒有等號所以不會把起始的那條算進去,所以就是第一頁從第一條開始,第二頁從第六條開始,這點是沒問題的;然後就是end=當前頁*每頁條數,第一頁就是5,第二頁是10,我講的有點繞,沒明白的直接理解為左開右閉就可以了,數學符號(],哈哈,就是這麼回事啦。