数据库分页语句

本文详细介绍了三种不同的数据库分页实现方法,包括Oracle数据库的三层嵌套查询方式、MySQL的LIMIT关键字使用技巧以及SQL Server中利用ROW_NUMBER()进行分页的具体步骤。这些技术对于提高大型数据集的查询效率至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Oracle 数据库分页

三层嵌套:

select
        * 
    from
        ( select
            row_.*,
            rownum rownum_ 
        from
            ( select
                this_.id as id63_3_,
                this_.amount as amount63_3_,
                this_.arrival_time as arrival3_63_3_,
                this_.coal_type as coal18_63_3_,
                this_.coal_source as coal15_63_3_,
                this_.diggings as diggings63_3_,
                this_.loadstation as loadsta17_63_3_,
                this_.manufactory as manufac16_63_3_,
                this_.lod_coal_type as lod4_63_3_,
                this_.old_stack_id as old5_63_3_,
                this_.port_sell_id as port6_63_3_,
                this_.remark as remark63_3_,
                this_.source_id as source8_63_3_,
                this_.sourcebz_type as sourcebz9_63_3_,
                this_.stack_id as stack10_63_3_,
                this_.train_no as train11_63_3_,
                this_.trainbusiness_id as trainbu12_63_3_,
                this_.vessel_id as vessel13_63_3_,
                coalclass2_.id as id40_0_,
                coalclass2_.abbr as abbr40_0_,
                coalclass2_.is_activated as is3_40_0_,
                coalclass2_.name as name40_0_,
                coalclass2_.parent_id as parent5_40_0_,
                coalclass2_.parent_name as parent6_40_0_,
                coalclass2_.remark as remark40_0_,
                coalclass2_.type as type40_0_,
                coalclass2_.type_ii as type9_40_0_,
                coalsource3_.id as id41_1_,
                coalsource3_.abbr as abbr41_1_,
                coalsource3_.name as name41_1_,
                coalsource3_.remark as remark41_1_,
                loadstatio4_.id as id48_2_,
                loadstatio4_.abbr as abbr48_2_,
                loadstatio4_.address as address48_2_,
                loadstatio4_.distance as distance48_2_,
                loadstatio4_.is_activated as is5_48_2_,
                loadstatio4_.name as name48_2_,
                loadstatio4_.remark as remark48_2_,
                loadstatio4_.station_code as station8_48_2_ 
            from
                ts_stack_inventory this_,
                bc_coalclass coalclass2_,
                bc_coal_source coalsource3_,
                bc_loadstation loadstatio4_ 
            where
                this_.coal_type=coalclass2_.id(+) 
                and this_.coal_source=coalsource3_.id(+) 
                and this_.loadstation=loadstatio4_.id(+) 
            order by
                this_.id asc ) row_ ) 
        where
            rownum_ <= ? 
            and rownum_ > ?

 

 

MySQL:

 

select
        topic0_.id as id2_,
        topic0_.categoryId as categoryId2_,
        topic0_.createDate as createDate2_,
        topic0_.title as title2_ 
    from
        topic topic0_ 
    where
        not (exists (select
            msg1_.id 
        from
            Msg msg1_ 
        where
            msg1_.topicId=topic0_.id)) limit ?, ?

 

 

SQL Server:

declare @pagesize int,@pageNum int
set @pagesize=10
set @pageNum=2

select * from (
select *,row_number() over(order by 分组字段) rn  
from 表) a
where rn between @pagesize*(@pageNum-1) and @pagesize*(@pageNum)-1

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值