关于oracle数据库的分页查询rownum转换成mysql分页查询的问题

关于oracle数据库的分页查询rownum转换成mysql分页查询的问题,第1张

select from (select ROWNUM r,t from student t

修改为

select from student

)student

<![CDATA[

where r > #current# and r <=#next#

order by id

修改为

<![CDATA[

order by id

LIMIT #current# , 每页多少行

注1: LIMIT 接受一个或两个数字参数

参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1)

也就是如果你是 每页 20 行的话。

就直接

LIMIT #current# , 20 吧

注2: 因为那个 第一个 初始记录行的偏移量是 0(而不是 1)

而我又不能

LIMIT #current# - 1, 20

因此你外部程序, 传参数的时候, 要自己 - 1 了, 再传进来。

SQL Server 2000中没有SQL Server 2005中有一个ROW_NUMBER()函数实现了相同的功能 ROW_NUMBER ( ) OVER ( [ <partition_by_clause> ] <order_by_clause> ) 参数 <partition_by_clause> 将 FROM 子句生成的结果集划入应用了 ROW_NUMBER 函数的分区。有关 PARTITION BY 的语法,请参阅 OVER 子句 (Transact-SQL)。 <order_by_clause>确定将 ROW_NUMBER 值分配给分区中的行的顺序。有关详细信息,请参阅 ORDER BY 子句 (Transact-SQL)。当在排名函数中使用 <order_by_clause> 时,不能用整数表示列。 返回类型 bigint 备注 ORDER BY 子句可确定在特定分区中为行分配唯一 ROW_NUMBER 的顺序。 参考: >

connect by是层次查询子句,rownum是行数。整个语句就是用来生成1到10的序列

查询结果应该是:

ROWNUM

----------

1

2

3

4

5

6

7

8

9

10

以上就是关于关于oracle数据库的分页查询rownum转换成mysql分页查询的问题全部的内容,包括:关于oracle数据库的分页查询rownum转换成mysql分页查询的问题、sql中有没有类似于oracle中rownum的函数、请问这个sql语句中的connect by以及rownum 怎么理解等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9749523.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存