我正在开发一个Web应用程序,需要分页排序结果.我通常使用LIMIT/OFFSET来实现此目的.
在Oracle中寻找有序结果的最佳方法是哪种?我见过一些使用rownum和子查询的示例.那是这样的吗?你能给我一个将这个SQL翻译成Oracle的示例:
SELECT fieldA,fieldB
FROM table
ORDER BY fieldA
OFFSET 5 LIMIT 14
Run Code Online (Sandbox Code Playgroud)
(我正在使用Oracle 10g,它的价值)
谢谢!
答: 使用karim79下面提供的链接,这个SQL看起来像:
SELECT * FROM (
SELECT rownum rnum, a.*
FROM(
SELECT fieldA,fieldB
FROM table
ORDER BY fieldA
) a
WHERE rownum <=5+14
)
WHERE rnum >=5
Run Code Online (Sandbox Code Playgroud) 我想写一个SELECT语句如下:
SELECT field_a
FROM my_table
WHERE field_b IN (my_function(field_c)).
Run Code Online (Sandbox Code Playgroud)
那可能吗?
my_function 必须返回一个数组?
我正在使用PostgreSQL 8.2