Функция Row_number () для Informix - PullRequest
2 голосов
/ 14 сентября 2011

Имеет ли informix функцию, аналогичную SQLServer и Oracle row_number()? Я должен сделать запрос, используя 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

Некоторая помощь?

1 Ответ

2 голосов
/ 14 сентября 2011

Если, как кажется, вы хотите получить первые строки 1-100, затем строки 101-200 и т. Д., То вы можете использовать более прямой (но нестандартный) синтаксис. Другие СУБД имеют аналогичные обозначения, обработанные несколько иначе.

Для получения строк 101-200:

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

Вы можете использовать переменную хоста вместо литерала 100 (или одного подготовленного оператора с разными значениями для заполнителей на разных итерациях).

...