2

informationixにはSQLServerやOracleと同様の機能がありますrow_number()か?2つの値を使用してクエリを実行する必要がありますrow_number() betweenが、方法がわかりません。

これはSQLServerでの私のクエリです:

SELECT col1, col2 
FROM (SELECT col1, col2, ROW_NUMBER() 
OVER (ORDER BY col1) AS ROWNUM FROM table) AS TB 
WHERE TB.ROWNUM BETWEEN value1 AND value2

手助け?

4

1 に答える 1

2

表示されているように、最初の行1〜100、次に行101〜200などを取得しようとしている場合は、より直接的な(ただし非標準の)構文を使用できます。他のDBMSにも同様の表記法があり、処理方法が多少異なります。

行101〜200をフェッチするには:

SELECT SKIP 100 FIRST 100 t.*
  FROM Table AS T
 WHERE ...other criteria...

リテラル100(または異なる反復でのプレースホルダーの値が異なる単一のプリペアドステートメント)の代わりにホスト変数を使用できます。

于 2011-09-14T19:01:31.887 に答える