标签:临时 技术 temp com acl row oracl png mamicode
我们先看看MySQL官网文档是怎么描述这个问题的:如下图所示。
由上面可知:MySQL不允许SQL语句的嵌套语句内的when rownum=1等类似的分页查询,需要用到临时变量来实现改造该功能
举个例子:
Oracle中的SQL写法如下:
select * from
oms_sub_tempdata
where rownum <= 10 order by dataid asc
MySQL改造之后的写法如下:
select a.* from
(select b.*,@rownum := @rownum+1 AS rownum from oms_sub_tempdata b,(SELECT @rownum:=0) r) a
where rownum <= #{rownum} order by dataid asc
mysql 用 @rownum := @rownum+1 实现 "oracle中的rownum = xxx或者rownum <= xxx" 功能
标签:临时 技术 temp com acl row oracl png mamicode
原文地址:https://www.cnblogs.com/4AMLJW/p/OraclerownuToMysql202004011738.html