db2分页sql

db2中没有 limit 0,20 这样的用法。但提供了 row_num()函数:

思路:

借助 row_num() 给我们的表 生成序号,再通过 where 对行号进行区间判断。

sql写法:

mysql分页写法:

select a.name, a.age ,b.id  from user a left join work b on a.id=b.id limit 20,30

db2分页写法:

select * from ( select row_num() over() as rownum, a.name, a.age ,b.id  from user a left join work b on a.id=b.id ) where rownum>20 and rownum<30

其中: over() 里可以写 按照某列进行排序, 里面是 order by 的写法

通过比较我们可以看出来:

总结,得出模板(蓝色字体 是模板,红色字体是要替换的sql)的写法:

 select * from ( select row_num() over() as rownum,

去掉第一个单词select和limit*,*的mysql语句 

) where rownum>20 and rownum<30

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值