专注于高品质PHP技术等信息服务于一体 [STIEMAP] [RSS]

百度提供的广告:
sql
当前位置:首页 > 技术文档 > sql >  > 
各种数据库分页语句 mssql mysql oracle

mssql:
            select top 5 orderid from orders where
orderid not in (select top 5 orderid from orders order by orderid) order by orderid
//这里利用top 的时候一定要注意order by的规则要一样,要不出来筛选的就不是你要的数据了
mysql:
            select * from table limit 5,4 ; //这个表示从5开始,找4条记录。
oracle:
        select * from
                       (select a.*,rownum rn from
                                  (select * from tbGetGirfts where user_id="+user_id+") a
                       ) b
        where b.rn between "+fromNum+" and "+endNum+" ;
上面虽然可以达到分页的目的,但是数据量大的话,执行效率比较低,分页的时候基本用下面的写法
SELECT * FROM
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM TABLE_NAME) A
WHERE ROWNUM <= 40
)
WHERE RN >= 21
      //这个取得ORACLE中从fromNum到endNum的记录。