2013-10-26 12 views
9

SQLのダービーでX行からY行を選択するにはどうすればよいですか?例えばDerby DB SQL、行番号から始まる行を選択

:私は15行を選択したい

  • - 15
  • トップ30ではなく、行番号30

から始まるすべての行を選択し、私はLIMITを試しROWNUMは動作しません。ダービーでどうすればいいですか? FAQによると

答えて

11

ダービーはLIMIT構文をサポートしていません。しかし、Derby 10.4はROW_NUMBER関数を追加し、Derby 10.7はOFFSET句とFETCH句を追加しました。

Derbyは、JDBCを介してクエリから返される行数を制限することもサポートしています。
< ...

10.4.1.3リリースから、DerbyはROW_NUMBER関数を使用して行数を制限することもサポートしています。
< ...>

SELECT * FROM ( 
    SELECT ROW_NUMBER() OVER() AS rownum, myLargeTable.* 
    FROM myLargeTable 
) AS tmp 
WHERE rownum > 200000 AND rownum <= 200005; 


< ...>

ROW_NUMBER関数は、オフセット、例えば始まる行の限られた数を選択するためにも使用することができます

Derby 10.7以降を使用している場合は、OFFSET and FETCH clauses

SELECT * FROM T ORDER BY I 
    OFFSET 10 ROWS 
    FETCH NEXT 10 ROWS ONLY 
関連する問題