sql select*在确切的行数之间

use*_*977 6 sql database

我想知道我是否可以使用select语句检索行的确切位置.例如235到250之间的行.这可能吗?

谢谢,shashi

bwa*_*wok 25

我不知道一般方式..但每个DB都有办法.例如,在oracle中,您可以使用嵌套选择来完成它

甲骨文:

select * from (
select a, b, c from table_foo
where id = 124
)
WHERE rownum >= 235
and ROWNUM <= 250
Run Code Online (Sandbox Code Playgroud)

MSSQL

select * from 
    (select Row_Number() over 
     (order by userID) as RowIndex, * from users) as Sub
    Where Sub.RowIndex >= 235 and Sub.RowIndex <= 250
Run Code Online (Sandbox Code Playgroud)

MySQL的

SELECT * FROM TableName LIMIT 235, 15
Run Code Online (Sandbox Code Playgroud)


小智 3

我们可以通过多种方式做到这一点。

  1. 我们可以借助 offset-fetch 子句来完成。

    select * from Table_Name order by Column_Name offset 234 rows fetch next 16 rows only

它将获取 235-250 之间的记录。因为它将跳过前 234 行并获取接下来的 16 行。

  1. 我们可以使用简单的 select 语句和 where 子句。

    Select * from Table_Name where Column_Name Between 235 and 250

它也会获取相同的结果。

希望它会有所帮助。