Page in each database

Oracle:

select *
  from ( select a.*, rownum rnum
           from ( YOUR_QUERY_GOES_HERE -- including the order by ) a
          where rownum <= MAX_ROWS )
where rnum >= MIN_ROWS
/

 

 

 

SQL Server:

select * from

(

select row_number() over(order by rownum) as row_num, * from

(

  select col1,col2,col3,row_number() over (order by col4 desc) as rownum

 from table_1

) as dt1 where dt1.rownum<50) as dt2

where dt2.row_num>=25;

 

 

 

DB2:

select * from

(select rownumber() over() as row_num, inner_table.* from

    (select * from user_master order by user_name desc fetch first 50 rows only) as inner_table)

) as outer_table where outer_table.row_num>25

optimize for 50 rows;

 

 

Conclusion:

1. use analytical function or keyword

2. embeded subquery

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值