小编dan*_*lla的帖子

用于在Oracle中进行分页的LIMIT和OFFSET的替代方法

我正在开发一个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)

sql oracle

47
推荐指数
4
解决办法
7万
查看次数

如何编写SELECT语句,其中条件是函数的结果

我想写一个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

sql postgresql

3
推荐指数
1
解决办法
312
查看次数

标签 统计

sql ×2

oracle ×1

postgresql ×1