admin

用于Informix的Row_number()函数

sql

notifyix是否具有类似于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

一些帮助?


阅读 370

收藏
2021-06-07

共1个答案

admin

如果看起来像是要先获得第1-100行,然后是第101-200行,依此类推,则可以使用更直接(但非标准)的语法。其他DBMS具有类似的表示法,但处理方式有所不同。

要获取第101-200行,请执行以下操作:

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

您可以使用主机变量代替文字100(或在不同的迭代中使用占位符具有不同值的单个准备好的语句)。

2021-06-07