由于我使用的是 DB2,为了在中间选择数据库的一部分(如限制/偏移配对),我需要执行不同类型的准备语句。我得到的例子是这样的:
SELECT * FROM (SELECT col1, col2, col3, ROW_NUMBER() OVER () AS RN FROM table) AS cols WHERE RN BETWEEN 1 AND 10000;
我适应了这一点:
SELECT * FROM (SELECT ROW_NUMBER() OVER (ORDER BY 2,3,4,6,7 ASC) AS rownum FROM TRANSACTIONS) AS foo WHERE rownum >= 500 AND rownum <1000
当我调用 fetchall_arrayref() 时,我确实得到了 500 个我想要的结果,但它只返回一个包含行号引用的数组,而不是我想要提取的所有数据。我知道这是代码在编写时应该做的事情,并且我尝试了一堆排列来获得我想要的结果,但没有运气。
我想要的只是将所有列像我之前的准备语句一样抓取到一个数组数组中:SELECT * FROM TU_TRANSACTIONS ORDER BY 2, 3, 4, 6, 7
但只是在指定的部分。我只是缺少一个基本的东西,我只是看不到它。
任何帮助都会受到赞赏,即使它伴随着一些建设性的批评。