您的位置:首页 > 数据库 > Oracle

use ROW_NUMBER() for pagination in Oracle and SQLServer

2013-11-20 16:48 676 查看
------------------------------------------------------------------------Oracle------------------------------------------------------

C:\Users\william.tang>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Wed Nov 20 16:43:33 2013
Copyright (c) 1982, 2010, Oracle. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> conn oe/oe
Connected.

SQL> select * from (select cust_first_name,customer_id, row_number() over(order by customer_id) row_num from customers) tmp where row_num between 10 and 20;

CUST_FIRST_NAME CUSTOMER_ID ROW_NUM
-------------------- ----------- ----------
Charlie 110 10
Charlie 111 11
Guillaume 112 12
Daniel 113 13
Dianne 114 14
Geraldine 115 15
Geraldine 116 16
Guillaume 117 17
Maurice 118 18
Maurice 119 19
Diane 120 20

11 rows selected.

---------------------------------------------------------------------Sqlserver-----------------------------------------------------------

SELECT contact_id,custno,Fdate FROM
(SELECT ROW_NUMBER() OVER (ORDER BY contact_id) AS Row,custno, contact_id, Ftype, Fdate
FROM gpcomp1.GPCUST where CUSTNO < '40356') AS EMP
WHERE Row BETWEEN 20 AND 30

contact_id custno Fdate
3627 35004010 99999999
4228 35005544 20070315
4382 35005874 20061203
4664 35006666 20120102
5108 35007869 20070307
5162 35008023 20080906
6271 35010452 20070311
6555 35010972 20070308
6581 35011037 20070308
6752 35011375 20070309
7013 350118&66 20070601
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: