sybase iq中如何分页

SQL Server
SELECT *
FROM ( SELECT Top N *
FROM (SELECT Top (M + N - 1) * FROM 表名称 Order by 主键 desc) t1 ) t2
Order by 主键 asc

Oralce数据库
SELECT *
FROM (SELECT ROWNUM r,t1.* From 表名称 t1 where rownum < M + N) t2
where t2.r >= M

My sql数据库
SELECT * FROM 表名称 LIMIT M,N

在Sybase IQ中没有以上的的函数,不能按照以上的方法进行分页。只能用rank() over(order by 主键)alia,这种方式

例如:
select * from (
select RANK() OVER ( ORDER BY $columnNmae$ $sortType$,id)num, * from table_name t
where 1=1 and....
)as a
where a.num>= $begin$ and a.num< $end$

其中$columnNmae$ $sortType$,是你要排序的列和排序的方式,一定要放在主键前面,这样它才会先排序再按主键生成num号(类似oracle中的rownum),and后面接你的查询条件,begin和end分别对应 上面的M、N
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值