亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

SQLServer的限制和偏移量等效嗎?

SQLServer的限制和偏移量等效嗎?

SQLServer的限制和偏移量等效嗎?在PostgreSQL中,Limit和Offset關鍵字,這將允許非常容易分頁的結果集。SQLServer的等效語法是什么?
查看完整描述

3 回答

?
一只萌萌小番薯

TA貢獻1795條經驗 獲得超7個贊

相當于LIMITSET ROWCOUNT,但是如果您想要通用分頁,最好編寫如下查詢:

;WITH Results_CTE AS(
    SELECT
        Col1, Col2, ...,
        ROW_NUMBER() OVER (ORDER BY SortCol1, SortCol2, ...) AS RowNum    FROM Table
    WHERE <whatever>)SELECT *FROM Results_CTEWHERE RowNum >= @OffsetAND RowNum < @Offset + @Limit

這里的優點是,如果您決定更改分頁選項(或允許用戶這樣做),則可以對偏移量和限制進行參數化。

注:這個@Offset參數應該使用基于一種索引的方法,而不是普通的基于零的索引。


查看完整回答
反對 回復 2019-06-26
?
holdtom

TA貢獻1805條經驗 獲得超10個贊

select top {LIMIT HERE} * from (
      select *, ROW_NUMBER() over (order by {ORDER FIELD}) as r_n_n 
      from {YOUR TABLES} where {OTHER OPTIONAL FILTERS}) xx where r_n_n >={OFFSET HERE}

注:此解決方案僅適用于SQLServer 2005或更高版本,因為ROW_NUMBER()已經實施。


查看完整回答
反對 回復 2019-06-26
  • 3 回答
  • 0 關注
  • 817 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號