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
一些帮助?
答案 0 :(得分:2)
如果看起来像是在寻找第一行1-100,然后是行101-200,依此类推,那么你可以使用更直接(但非标准)的语法。其他DBMS有类似的符号,处理方式有所不同。
获取行101-200:
SELECT SKIP 100 FIRST 100 t.*
FROM Table AS T
WHERE ...other criteria...
您可以使用主变量代替文字100(或者在不同迭代中使用不同值的占位符的单个预准备语句)。