發問時間: 電腦與網際網路程式設計 · 7 年前

Sql指令,選取範圍的筆數

例如我已經有一個sql指令 selete * from abc order by date

可以篩選出共56筆資料

據我了解 selete top 10 可以篩選出前10筆

那...如果我今天想篩選的是20~30筆資料或者30~40筆資料

以sql指令要怎麼撰寫?

2 個解答

評分
  • 7 年前
    最佳解答

    SQL Server 2005起,有一個 ROW_NUMBER的作法

    能把資料重新排列(用新的流水號)

    從1,2,3.....開始排列

    這樣一來您就可以做到

    篩選的是20~30筆資料或者30~40筆資料

    2013-06-19 18:15:18 補充:

    http://www.dotblogs.com.tw/mis2000lab/archive/2010...

  • Lv 4
    7 年前

    1. 問資料庫問題的時候

    請你養成習慣 告知資料庫廠牌 以及資料庫名稱

    2. 我用SQL SERVER 來回答

    使用AdventureWorks 範例資料庫

    [AdventureWorks].[HumanResources].[Employee]

    3. 答案有很多版本

    select t30.*

    from

    (

    SELECT TOP 30 *

    FROM [AdventureWorks].[HumanResources].[Employee]

    order by BirthDate) t30

    except

    select t10.*

    from

    (

    SELECT TOP 10 *

    FROM [AdventureWorks].[HumanResources].[Employee]

    order by BirthDate ) t10

    參考資料: 做事不嚴謹 永遠做不了DBA
還有問題?馬上發問,尋求解答。