存档
在oracle中显示分页很简单, 利用两次rownum就实现了。
下面的语句用来返回DBA_OBJECTS表中类型为TABLE的所有记录中的第100行至第200行。
select * from
( select rownum rnm, a.* from ( select OBJECT_NAME from DBA_OBJECTS where object_type='TABLE' ) a
where rownum <= 200 )
where rnm > 100
执行结果为:
SQL> select * from
2 ( select rownum rnm, a.* from ( select OBJECT_NAME from DBA_OBJECTS where object_type='TABLE' ) a
3 where rownum <= 200 )
4 where rnm > 100
5 ;
RNM OBJECT_NAME
---------- --------------------------------------------------------------------------------------------------------------------
101 HISTGRM$
102 HIST_HEAD$
103 DUAL
104 PARTOBJ$
105 PARTCOL$
106 TABPART$
107 INDPART$
108 SUBPARTCOL$
109 TABSUBPART$
110 INDSUBPART$
111 TABCOMPART$
RNM OBJECT_NAME
---------- --------------------------------------------------------------------------------------------------------------------
112 INDCOMPART$
113 PARTLOB$
114 LOBFRAG$
115 LOBCOMPPART$
116 DEFSUBPART$
117 DEFSUBPARTLOB$
118 SYSTEM_PRIVILEGE_MAP
119 TABLE_PRIVILEGE_MAP
120 STMT_AUDIT_OPTION_MAP
121 RESOURCE_MAP
122 USER_ASTATUS_MAP
RNM OBJECT_NAME
---------- --------------------------------------------------------------------------------------------------------------------
123 EXPACT$
124 NOEXP$
125 PROCEDUREJAVA$
126 PROCEDUREC$
127 PROCEDUREPLSQL$
128 RESULT$
129 KOTTD$
130 KOTTB$
131 KOTAD$
132 KOTMD$
133 KOTTBX$
RNM OBJECT_NAME
---------- --------------------------------------------------------------------------------------------------------------------
134 KOTADX$
135 KOPM$
136 VTABLE$
137 ATEMPTAB$
138 LIBRARY$
139 USER_HISTORY$
140 MIGRATE$
141 ICOLDEP$
142 OPERATOR$
143 OPBINDING$
144 OPANCILLARY$
RNM OBJECT_NAME
---------- --------------------------------------------------------------------------------------------------------------------
145 OPARG$
146 INDTYPES$
147 INDOP$
148 INDARRAYTYPE$
149 SECOBJ$
150 ASSOCIATION$
151 USTATS$
152 JAVASNM$
153 SUM$
154 SUMDETAIL$
155 SUMINLINE$
RNM OBJECT_NAME
---------- --------------------------------------------------------------------------------------------------------------------
156 SUMKEY$
157 SUMAGG$
158 SUMJOIN$
159 SUMDEP$
160 SUMPRED$
161 SUMQB$
162 DIM$
163 DIMLEVEL$
164 DIMLEVELKEY$
165 DIMJOINKEY$
166 DIMATTR$
RNM OBJECT_NAME
---------- --------------------------------------------------------------------------------------------------------------------
167 HIER$
168 HIERLEVEL$
169 RLS$
170 RLS_SC$
171 RLS_GRP$
172 RLS_CTX$
173 CONTEXT$
174 RULESET$
175 INDPART_PARAM$
176 OL$
177 OL$HINTS
RNM OBJECT_NAME
---------- --------------------------------------------------------------------------------------------------------------------
178 OL$NODES
179 SQL$
180 SQL$TEXT
181 SQLPROF$
182 SQLPROF$DESC
183 SQLPROF$ATTR
184 EXPPKGOBJ$
185 EXPPKGACT$
186 EXPDEPOBJ$
187 EXPDEPACT$
188 MON_MODS$
RNM OBJECT_NAME
---------- --------------------------------------------------------------------------------------------------------------------
189 MON_MODS_ALL$
190 METAVIEW$
191 METAFILTER$
192 METAXSL$
193 METAXSLPARAM$
194 METASTYLESHEET
195 METASCRIPT$
196 METASCRIPTFILTER$
197 METANAMETRANS$
198 METAPATHMAP$
199 EXTERNAL_TAB$
RNM OBJECT_NAME
---------- --------------------------------------------------------------------------------------------------------------------
200 EXTERNAL_LOCATION$
已选择100行。
SQL>
总结:在oracle中利用rownum产生伪列真的是太方便了, 尤其利用派生表再加上伪列可以写出很复杂的sql语句来。
比ASE和IQ的实现方式强N倍。 哎,可叹的sybase啊。
————————————————————————————————-
—- 本文为andkylee个人原创,请在尊重作者劳动成果的前提下进行转载;
—- 转载务必注明原始出处 : http://www.dbainfo.net
—- 关键字:oracle 分页 rownum
————————————————————————————————-
接上篇的关于MySQL中的分页方法,本篇简单讨论在Sybase ASE中实现数据结果分页的方式。
本篇介绍三种方法。
第一种:利用游标
程序开发人员比较喜欢使用游标,因为游标的“循环”遍历方式类似编程语言中的for,while,loop语句的实现方法,写起来比较容易。使用游标一般步骤是:为指定的SQL语句定义一个游标,打开并移动游标,当移动到指定行号的记录行之后,再按照需要提取的行数来取数据。从表面上看解决了提取指 定范围数据的问题;但是在实际应用上,有可能会出现严重的性能问题。建立游标需要耗用一定的系统资源之外;当表内的数据量有上千万甚至到亿级别并且需要取大量的数据结果时,用游标每移动一 次就取这行数据,然后再移动游标,这个过程将是缓慢的。在使用游标的过程中,系统会给相应的表加上共享锁,导致锁竞争而严重影响数据库的性能。
在此不再介绍游标的实现方式,此法比较简单。一个使用游标分页的例子:sp_splitpage_by_cursor.sql
第二种:利用临时表和标志列
在Sybase ASE12.5.3及以后的版本中,我们可以用top关键字来限定只返回结果集的前N行数据。在ASE12.5.3之前的版本中只能用set rowcount N 的方法来“曲线救国”了。
对于取结果集的第N行至第N+M行数据的要求,我们考虑利用top来实现的话,比较容易想到的是:执行两次top,再加一次倒序排序。
步骤如下:
(1) select top N+M * from table_name where_clause order by ID ASC --把此结果集派生为表:table_name1
(2) select top M * from table_name1 order by ID DESC --把此结果集派生为表:table_name2
(3) select * from table_name2 order by ID ASC
上面的3条语句好像能够实现返回第N行至第N+M行数据的要求。但是,在Sybase ASE中仅仅利用派生表而不利用临时表是不能实现这个要求的。
仅仅是ASE中的“派生出派生表(derived table)的SQL语句中不能含有order by 子句”这个限制就足以使上面的方法行不通。还有一个限制是,上面的3个步骤中都利用ID列进行排序。如果表中没有可用的排序列时,那么上述方法也不能用 了。不过幸运的是,一般要求对其结果集进行分页的表都是有可以用作排序的列的(数字型或者日期型)。
继续寻找一个能用的方法,下面着重介绍目前通用的ASE的分页思路。此思路的关键是产生identity自增列和临时表。
在ASE中大家要是找到了不用临时表就可以实现分页的方法请麻烦告诉我一声。 我尝试了很多次,都不是很理想。
概括起来主要语句有两条:
(1) select syb=identity(10),* into #temp_table from table_name where_clause order_by_clause
(2) select * from #temp_table where_clause and syb >= N and syb <= N+M
使用此方法实现ASE分页的一个存储过程为:
-- 此存储过程适用于所有版本的ASE中
use sybsystemprocs
go
if exists(select 1 from sybsystemprocs.dbo.sysobjects where type='P' and name='sp_page')
drop procedure sp_page
gocreate procedure sp_page @qry varchar(16384),@ipage int,@num int
as
begin
declare @rcount int
declare @execsql varchar(16384)
select @rcount=@ipage*@num
set @execsql = 'set rowcount '|| convert(varchar,@rcount)
set @execsql = @execsql || stuff(@qry,charindex('SELECT ',upper(@qry)),6,' SELECT sybid=identity(12),')
set @execsql = stuff(@execsql,charindex(' FROM ',upper(@execsql)),6,' INTO #temptable FROM ')
set @execsql = @execsql || ' SELECT * FROM #temptable WHERE sybid >' || convert(varchar,(@ipage-1)*@num)
set @execsql = @execsql || ' AND sybid<=' || convert(varchar,@ipage*@num) + ' set rowcount 0'
execute(@execsql)
end
goexec sp_procxmode 'sp_page',anymode
go
grant execute on sp_page to public
go
用一个例子演示一下:
(1) 建立测试表:testA
create table testA(id int not null,name varchar(30) null)
go
(2) 插入测试数据
insert into testA
select 1,'liuzhenfu'
go
insert into testA
select 2,'andkylee'
go
(3) 循环插入大量的重复数据
insert into testA
select id+(select max(id) from testA),name from testA
go 15
向表testA循环插入已有的数据,15次之后,表testA内的数据达到2^16 = 65536 行。
(4) 利用临时表 + 自增标志列来提取第100行至第200行的数据。
语句如下:
select syb=identity(10) ,* into #tempA from testA
select * from #tempA where syb>=100 and syb<=200
drop table #tempA
返回的结果为:
1> select syb=identity(10),* into #tempA from testA
2> select * from #tempA where syb>=100 and syb<=200
3> go
(65536 rows affected)
syb id name
------------- ----------- ---------------------------
100 100 andkylee
101 101 liuzhenfu
102 102 andkylee
103 103 liuzhenfu
104 104 andkylee
105 105 liuzhenfu
106 106 andkylee
107 107 liuzhenfu
108 108 andkylee
109 109 liuzhenfu
110 110 andkylee
111 111 liuzhenfu
112 112 andkylee
113 113 liuzhenfu
114 114 andkylee
115 115 liuzhenfu
116 116 andkylee
117 117 liuzhenfu
118 118 andkylee
119 119 liuzhenfu
120 120 andkylee
121 121 liuzhenfu
122 122 andkylee
123 123 liuzhenfu
124 124 andkylee
125 125 liuzhenfu
126 126 andkylee
127 127 liuzhenfu
128 128 andkylee
129 129 liuzhenfu
130 130 andkylee
131 131 liuzhenfu
132 132 andkylee
133 133 liuzhenfu
134 134 andkylee
135 135 liuzhenfu
136 136 andkylee
137 137 liuzhenfu
138 138 andkylee
139 139 liuzhenfu
140 140 andkylee
141 141 liuzhenfu
142 142 andkylee
143 143 liuzhenfu
144 144 andkylee
145 145 liuzhenfu
146 146 andkylee
147 147 liuzhenfu
148 148 andkylee
149 149 liuzhenfu
150 150 andkylee
151 151 liuzhenfu
152 152 andkylee
153 153 liuzhenfu
154 154 andkylee
155 155 liuzhenfu
156 156 andkylee
157 157 liuzhenfu
158 158 andkylee
159 159 liuzhenfu
160 160 andkylee
161 161 liuzhenfu
162 162 andkylee
163 163 liuzhenfu
164 164 andkylee
165 165 liuzhenfu
166 166 andkylee
167 167 liuzhenfu
168 168 andkylee
169 169 liuzhenfu
170 170 andkylee
171 171 liuzhenfu
172 172 andkylee
173 173 liuzhenfu
174 174 andkylee
175 175 liuzhenfu
176 176 andkylee
177 177 liuzhenfu
178 178 andkylee
179 179 liuzhenfu
180 180 andkylee
181 181 liuzhenfu
182 182 andkylee
183 183 liuzhenfu
184 184 andkylee
185 185 liuzhenfu
186 186 andkylee
187 187 liuzhenfu
188 188 andkylee
189 189 liuzhenfu
190 190 andkylee
191 191 liuzhenfu
192 192 andkylee
193 193 liuzhenfu
194 194 andkylee
195 195 liuzhenfu
196 196 andkylee
197 197 liuzhenfu
198 198 andkylee
199 199 liuzhenfu
200 200 andkylee
(101 rows affected)
需要将select * from #tempA中的星号*替换为需要返回的列名。
继续。。。。
当要求返回满足name='andkylee'的所有行中的第100行至第200行的数据时, 利用
select syb=identity(10),* into #tempA from testA where name='andkylee'
select * from #tempA where syb>=100 and syb<=200
drop table #tempA
第三种:利用rowcount
此种方法有点不足:必须利用可用作排序的列 对结果集进行排序。
还是上面的测试表testA,如果从第9000行开始选择10行数据,那么语句如下:
declare @id1 int
set rowcount 9000
select @id1 = id from testA order by id
set rowcount 10
select *from testA where id >= @id1 order by id
set rowcount 0
go
此种方法中核心语句是select @id1=id from testA order by id , 在对表testA执行查询的过程中,每读取一行都会把id列的值赋给@id1这个变量,一直持续到最后一行,@id1这个变量反复被下一行的id值刷新, 最后结果只得到最后一行的id值。如果在此select语句之前加上rowcount的限定,那么就可用变量@id1来获得第rowcount行的id 值,于是我们也就获得了要返回的范围结果集的起点了。
后面的 set rowcount 10
select * from testA where id >= @id1 order by id
这两句实际上可以用一句select top 10 * from testA where id >= @id1 order by id 来替代。
这样,两种不同的实现形式为:
declare @id1 int
set rowcount 9000
select @id1 = id from testA order by id
set rowcount 0
select top 10 *from testA where id >= @id1 order by id
go
分别看看执行结果吧!
第一种方式的执行结果:
1> declare @id1 int
2> set rowcount 9000
3> select @id1 = id from testA order by id
4> set rowcount 10
5> select *from testA where id >= @id1 order by id
6> set rowcount 0
7> go
(9000 rows affected)
id name
----------- ------------------------------
9000 andkylee
9001 liuzhenfu
9002 andkylee
9003 liuzhenfu
9004 andkylee
9005 liuzhenfu
9006 andkylee
9007 liuzhenfu
9008 andkylee
9009 liuzhenfu
(10 rows affected)
1>
第二种方式的执行结果:
1> declare @id1 int
2> set rowcount 9000
3> select @id1 = id from testA order by id
4> set rowcount 0
5> select top 10 *from testA where id >= @id1 order by id
6> go
(9000 rows affected)
id name
----------- ------------------------------
9000 andkylee
9001 liuzhenfu
9002 andkylee
9003 liuzhenfu
9004 andkylee
9005 liuzhenfu
9006 andkylee
9007 liuzhenfu
9008 andkylee
9009 liuzhenfu
(10 rows affected)
1>
当然,两种结果一模一样。
最后我们测试表testA中的ID列顺序值打乱, 来看看以上语句的执行情况。执行:
update testA set id = id + cast( rand() * 65536 as int )
ID列值打乱之后,前100行的数据为:
1> select top 100 * from testA
2> go
id name
----------- ------------------------------
51366 liuzhenfu
33573 andkylee
19447 liuzhenfu
19408 andkylee
57839 liuzhenfu
18817 andkylee
......................
19075 liuzhenfu
17081 andkylee
26444 liuzhenfu
6620 andkylee
52344 liuzhenfu
49348 andkylee
(100 rows affected)
我们要求返回满足name='andkylee'的从第9000行开始的10行数据。
declare @id1 int
set rowcount 9000
select @id1 = id from testA where name='andkylee' order by id
set rowcount 10
select *from testA where name='andkylee' and id >= @id1 order by id
set rowcount 0
go
结果为:
1> declare @id1 int
2> set rowcount 9000
3> select @id1 = id from testA where name='andkylee' order by id
4> set rowcount 10
5> select *from testA where name='andkylee' and id >= @id1 order by id
6> set rowcount 0
7> go
(9000 rows affected)
id name
----------- ------------------------------
48639 andkylee
48639 andkylee
48641 andkylee
48641 andkylee
48642 andkylee
48643 andkylee
48644 andkylee
48644 andkylee
48650 andkylee
48650 andkylee
(10 rows affected)
如果不对ID列进行排序, 有下面的sql语句:
declare @id1 int
set rowcount 9000
select @id1 = id from testA where name='andkylee'
set rowcount 10
select *from testA where name='andkylee' and id >= @id1
set rowcount 0
go
相应的结果集为:
1> declare @id1 int
2> set rowcount 9000
3> select @id1 = id from testA where name='andkylee'
4> set rowcount 10
5> select *from testA where name='andkylee' and id >= @id1
6> set rowcount 0
7> go
(9000 rows affected)
id name
----------- ------------------------------
74076 andkylee
74514 andkylee
74053 andkylee
74385 andkylee
74339 andkylee
74792 andkylee
74794 andkylee
74984 andkylee
75052 andkylee
74138 andkylee
(10 rows affected)
1>
可以发现这个两句的结果是不同的。
我想既然都要求返回指定范围的结果集, 肯定是有排序的依据了, 否则怎么知道该返回哪个范围呢?
还有,我给出的第三种方法,在进行表扫描的时候,即使不指定排序,也是能够得到正确结果的。因为表扫描时很可能会按照表内数据在物理页面上的物理位置来返回结果。
就先介绍到这里吧, 后续可能会根据情况进行补充。
文件下载:
使用第二种方法在ASE实现分页的存储过程: sp_page.sql 包含top和set rowcount两种。
根据显示的当前页号进行优化处理、更通用些的存储过程:splitpage.sql
————————————————————————————————-
—- 本文为andkylee个人原创,请在尊重作者劳动成果的前提下进行转载;
—- 转载务必注明原始出处 : http://www.dbainfo.net
—- 关键字:ASE 分页 top identity set rowcount temp table 自增列 伪列 临时表
————————————————————————————————-
目前B/S架构的软件大行其道。通过浏览器如何向终端用户只展示指定页面内容而不是全部的?毕竟返回全部结果集,时间和空间开销都很大。
如此情况下,对SQL返回结果集进行分页是个很不错的解决方案。
本文主要介绍MySQL数据库中的分页实现方式。我以一个数据库管理员的角度进行说明,至于具体的实现还需要开发人员详细编写过程。
总的说来,在MySQL中实现分页功能是很简单的事情。MySQL数据库的开发人员替广大的使用者着想,提供了一个关键字limit来实现限定指定范围的功能。
下面简单介绍分页的思路。
在MySQL5.0.15-nt-max下进行测试。
1.新建一张临时表(MyISAM或者InnoDB类型的都可以),本测试表没有使用自增列。
CREATE TABLE `andkylee` (
`id` int(11) NOT NULL,
`name` varchar(30) default NULL,
`sex` char(1) NOT NULL,
`age` smallint(6) default NULL,
`note` varchar(100) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
2.插入测试数据。 在这里尤其介绍一种插入大量测试数据的方法。
先插入2条数据:
insert into andkylee
values(1,'hanyuliu','F',25,'aaaaaaaaaa'),(2,'andkylee','F',33,'bbbbbbbbbb');
批量插入数据:
在没有自增列的情况下,用下面的语句来实现插入“重复”数据。
insert into andkylee
select id+(select max(id) from andkylee),name,sex,age,note from andkylee;
本语句能够复制表已有的所有记录,并且能够实现“主键列”自增。
可能有点缺陷的是:需要再select列表中逐个写出各个列名。但是,好像含有自增列的表为了实现插入重复数据,也必须把非自增列都写出来吧。 如果我说的不对,请告知。
循环插入重复数据,使得表数据行数以指数方式增长。 再把已有的数据插入到表内,行数变为以前的2倍。
insert into andkylee
select id+(select max(id) from andkylee),name,sex,age,note from andkylee;
mysql> select count(*) from andkylee;
+----------+
| count(*) |
+----------+
| 4 |
+----------+
1 row in set (0.05 sec)
重复上面的语句,执行10次之后,表内的数据行数为:2048
测试数据情况为:
mysql> select *from andkylee;
+------+----------+-----+------+------------+
| id | name | sex | age | note |
+------+----------+-----+------+------------+
| 1 | hanyuliu | F | 25 | aaaaaaaaaa |
| 2 | andkylee | F | 33 | bbbbbbbbbb |
| 3 | hanyuliu | F | 25 | aaaaaaaaaa |
| 4 | andkylee | F | 33 | bbbbbbbbbb |
.....
| 2043 | hanyuliu | F | 25 | aaaaaaaaaa |
| 2044 | andkylee | F | 33 | bbbbbbbbbb |
| 2045 | hanyuliu | F | 25 | aaaaaaaaaa |
| 2046 | andkylee | F | 33 | bbbbbbbbbb |
| 2047 | hanyuliu | F | 25 | aaaaaaaaaa |
| 2048 | andkylee | F | 33 | bbbbbbbbbb |
+------+----------+-----+------+------------+
2048 rows in set (0.08 sec)
3.选择第100至300行数据
这里不得不介绍limit这个关键字了。
limit关键字的使用方式为:
(SQL statement) limit row_position,row_count
其中:(SQL statement) 为完整的SQL语句,就是普通的sql语句,以前的语句该怎么写的还是怎么写。
limit 是个关键字,在MySQL中关键字是不区分大小写的,Limit,limit,LIMIT对于数据库引擎来说都是一样的。
后面是两个参数,row_position表示起始行,更确切的说应该是偏移行,自然row_position是从0开始的。也就是说第一行的偏移行数为0.
要是想返回从第二行开始的记录,就将row_position指定为1.
第二个参数:row_count表示返回的行数。 这个很简单,不赘述。
因此,要返回第100至300行数据,需要指定偏移行号为99,并且行数为201.
语句为:
select *from andkylee LimiT 99,201;
返回结果为:
mysql> select *from andkylee LimiT 99,201;
+-----+----------+-----+------+------------+
| id | name | sex | age | note |
+-----+----------+-----+------+------------+
| 100 | andkylee | F | 33 | bbbbbbbbbb |
| 101 | hanyuliu | F | 25 | aaaaaaaaaa |
| 102 | andkylee | F | 33 | bbbbbbbbbb |
| 103 | hanyuliu | F | 25 | aaaaaaaaaa |
| 104 | andkylee | F | 33 | bbbbbbbbbb |
| 105 | hanyuliu | F | 25 | aaaaaaaaaa |
| 106 | andkylee | F | 33 | bbbbbbbbbb |
| 107 | hanyuliu | F | 25 | aaaaaaaaaa |
| 108 | andkylee | F | 33 | bbbbbbbbbb |
| 109 | hanyuliu | F | 25 | aaaaaaaaaa |
| 110 | andkylee | F | 33 | bbbbbbbbbb |
| 111 | hanyuliu | F | 25 | aaaaaaaaaa |
| 112 | andkylee | F | 33 | bbbbbbbbbb |
| 113 | hanyuliu | F | 25 | aaaaaaaaaa |
| 114 | andkylee | F | 33 | bbbbbbbbbb |
| 115 | hanyuliu | F | 25 | aaaaaaaaaa |
| 116 | andkylee | F | 33 | bbbbbbbbbb |
| 117 | hanyuliu | F | 25 | aaaaaaaaaa |
| 118 | andkylee | F | 33 | bbbbbbbbbb |
| 119 | hanyuliu | F | 25 | aaaaaaaaaa |
| 120 | andkylee | F | 33 | bbbbbbbbbb |
| 121 | hanyuliu | F | 25 | aaaaaaaaaa |
| 122 | andkylee | F | 33 | bbbbbbbbbb |
| 123 | hanyuliu | F | 25 | aaaaaaaaaa |
| 124 | andkylee | F | 33 | bbbbbbbbbb |
| 125 | hanyuliu | F | 25 | aaaaaaaaaa |
| 126 | andkylee | F | 33 | bbbbbbbbbb |
| 127 | hanyuliu | F | 25 | aaaaaaaaaa |
| 128 | andkylee | F | 33 | bbbbbbbbbb |
| 129 | hanyuliu | F | 25 | aaaaaaaaaa |
| 130 | andkylee | F | 33 | bbbbbbbbbb |
| 131 | hanyuliu | F | 25 | aaaaaaaaaa |
| 132 | andkylee | F | 33 | bbbbbbbbbb |
| 133 | hanyuliu | F | 25 | aaaaaaaaaa |
| 134 | andkylee | F | 33 | bbbbbbbbbb |
| 135 | hanyuliu | F | 25 | aaaaaaaaaa |
| 136 | andkylee | F | 33 | bbbbbbbbbb |
| 137 | hanyuliu | F | 25 | aaaaaaaaaa |
| 138 | andkylee | F | 33 | bbbbbbbbbb |
| 139 | hanyuliu | F | 25 | aaaaaaaaaa |
| 140 | andkylee | F | 33 | bbbbbbbbbb |
| 141 | hanyuliu | F | 25 | aaaaaaaaaa |
| 142 | andkylee | F | 33 | bbbbbbbbbb |
| 143 | hanyuliu | F | 25 | aaaaaaaaaa |
| 144 | andkylee | F | 33 | bbbbbbbbbb |
| 145 | hanyuliu | F | 25 | aaaaaaaaaa |
| 146 | andkylee | F | 33 | bbbbbbbbbb |
| 147 | hanyuliu | F | 25 | aaaaaaaaaa |
| 148 | andkylee | F | 33 | bbbbbbbbbb |
| 149 | hanyuliu | F | 25 | aaaaaaaaaa |
| 150 | andkylee | F | 33 | bbbbbbbbbb |
| 151 | hanyuliu | F | 25 | aaaaaaaaaa |
| 152 | andkylee | F | 33 | bbbbbbbbbb |
| 153 | hanyuliu | F | 25 | aaaaaaaaaa |
| 154 | andkylee | F | 33 | bbbbbbbbbb |
| 155 | hanyuliu | F | 25 | aaaaaaaaaa |
| 156 | andkylee | F | 33 | bbbbbbbbbb |
| 157 | hanyuliu | F | 25 | aaaaaaaaaa |
| 158 | andkylee | F | 33 | bbbbbbbbbb |
| 159 | hanyuliu | F | 25 | aaaaaaaaaa |
| 160 | andkylee | F | 33 | bbbbbbbbbb |
| 161 | hanyuliu | F | 25 | aaaaaaaaaa |
| 162 | andkylee | F | 33 | bbbbbbbbbb |
| 163 | hanyuliu | F | 25 | aaaaaaaaaa |
| 164 | andkylee | F | 33 | bbbbbbbbbb |
| 165 | hanyuliu | F | 25 | aaaaaaaaaa |
| 166 | andkylee | F | 33 | bbbbbbbbbb |
| 167 | hanyuliu | F | 25 | aaaaaaaaaa |
| 168 | andkylee | F | 33 | bbbbbbbbbb |
| 169 | hanyuliu | F | 25 | aaaaaaaaaa |
| 170 | andkylee | F | 33 | bbbbbbbbbb |
| 171 | hanyuliu | F | 25 | aaaaaaaaaa |
| 172 | andkylee | F | 33 | bbbbbbbbbb |
| 173 | hanyuliu | F | 25 | aaaaaaaaaa |
| 174 | andkylee | F | 33 | bbbbbbbbbb |
| 175 | hanyuliu | F | 25 | aaaaaaaaaa |
| 176 | andkylee | F | 33 | bbbbbbbbbb |
| 177 | hanyuliu | F | 25 | aaaaaaaaaa |
| 178 | andkylee | F | 33 | bbbbbbbbbb |
| 179 | hanyuliu | F | 25 | aaaaaaaaaa |
| 180 | andkylee | F | 33 | bbbbbbbbbb |
| 181 | hanyuliu | F | 25 | aaaaaaaaaa |
| 182 | andkylee | F | 33 | bbbbbbbbbb |
| 183 | hanyuliu | F | 25 | aaaaaaaaaa |
| 184 | andkylee | F | 33 | bbbbbbbbbb |
| 185 | hanyuliu | F | 25 | aaaaaaaaaa |
| 186 | andkylee | F | 33 | bbbbbbbbbb |
| 187 | hanyuliu | F | 25 | aaaaaaaaaa |
| 188 | andkylee | F | 33 | bbbbbbbbbb |
| 189 | hanyuliu | F | 25 | aaaaaaaaaa |
| 190 | andkylee | F | 33 | bbbbbbbbbb |
| 191 | hanyuliu | F | 25 | aaaaaaaaaa |
| 192 | andkylee | F | 33 | bbbbbbbbbb |
| 193 | hanyuliu | F | 25 | aaaaaaaaaa |
| 194 | andkylee | F | 33 | bbbbbbbbbb |
| 195 | hanyuliu | F | 25 | aaaaaaaaaa |
| 196 | andkylee | F | 33 | bbbbbbbbbb |
| 197 | hanyuliu | F | 25 | aaaaaaaaaa |
| 198 | andkylee | F | 33 | bbbbbbbbbb |
| 199 | hanyuliu | F | 25 | aaaaaaaaaa |
| 200 | andkylee | F | 33 | bbbbbbbbbb |
| 201 | hanyuliu | F | 25 | aaaaaaaaaa |
| 202 | andkylee | F | 33 | bbbbbbbbbb |
| 203 | hanyuliu | F | 25 | aaaaaaaaaa |
| 204 | andkylee | F | 33 | bbbbbbbbbb |
| 205 | hanyuliu | F | 25 | aaaaaaaaaa |
| 206 | andkylee | F | 33 | bbbbbbbbbb |
| 207 | hanyuliu | F | 25 | aaaaaaaaaa |
| 208 | andkylee | F | 33 | bbbbbbbbbb |
| 209 | hanyuliu | F | 25 | aaaaaaaaaa |
| 210 | andkylee | F | 33 | bbbbbbbbbb |
| 211 | hanyuliu | F | 25 | aaaaaaaaaa |
| 212 | andkylee | F | 33 | bbbbbbbbbb |
| 213 | hanyuliu | F | 25 | aaaaaaaaaa |
| 214 | andkylee | F | 33 | bbbbbbbbbb |
| 215 | hanyuliu | F | 25 | aaaaaaaaaa |
| 216 | andkylee | F | 33 | bbbbbbbbbb |
| 217 | hanyuliu | F | 25 | aaaaaaaaaa |
| 218 | andkylee | F | 33 | bbbbbbbbbb |
| 219 | hanyuliu | F | 25 | aaaaaaaaaa |
| 220 | andkylee | F | 33 | bbbbbbbbbb |
| 221 | hanyuliu | F | 25 | aaaaaaaaaa |
| 222 | andkylee | F | 33 | bbbbbbbbbb |
| 223 | hanyuliu | F | 25 | aaaaaaaaaa |
| 224 | andkylee | F | 33 | bbbbbbbbbb |
| 225 | hanyuliu | F | 25 | aaaaaaaaaa |
| 226 | andkylee | F | 33 | bbbbbbbbbb |
| 227 | hanyuliu | F | 25 | aaaaaaaaaa |
| 228 | andkylee | F | 33 | bbbbbbbbbb |
| 229 | hanyuliu | F | 25 | aaaaaaaaaa |
| 230 | andkylee | F | 33 | bbbbbbbbbb |
| 231 | hanyuliu | F | 25 | aaaaaaaaaa |
| 232 | andkylee | F | 33 | bbbbbbbbbb |
| 233 | hanyuliu | F | 25 | aaaaaaaaaa |
| 234 | andkylee | F | 33 | bbbbbbbbbb |
| 235 | hanyuliu | F | 25 | aaaaaaaaaa |
| 236 | andkylee | F | 33 | bbbbbbbbbb |
| 237 | hanyuliu | F | 25 | aaaaaaaaaa |
| 238 | andkylee | F | 33 | bbbbbbbbbb |
| 239 | hanyuliu | F | 25 | aaaaaaaaaa |
| 240 | andkylee | F | 33 | bbbbbbbbbb |
| 241 | hanyuliu | F | 25 | aaaaaaaaaa |
| 242 | andkylee | F | 33 | bbbbbbbbbb |
| 243 | hanyuliu | F | 25 | aaaaaaaaaa |
| 244 | andkylee | F | 33 | bbbbbbbbbb |
| 245 | hanyuliu | F | 25 | aaaaaaaaaa |
| 246 | andkylee | F | 33 | bbbbbbbbbb |
| 247 | hanyuliu | F | 25 | aaaaaaaaaa |
| 248 | andkylee | F | 33 | bbbbbbbbbb |
| 249 | hanyuliu | F | 25 | aaaaaaaaaa |
| 250 | andkylee | F | 33 | bbbbbbbbbb |
| 251 | hanyuliu | F | 25 | aaaaaaaaaa |
| 252 | andkylee | F | 33 | bbbbbbbbbb |
| 253 | hanyuliu | F | 25 | aaaaaaaaaa |
| 254 | andkylee | F | 33 | bbbbbbbbbb |
| 255 | hanyuliu | F | 25 | aaaaaaaaaa |
| 256 | andkylee | F | 33 | bbbbbbbbbb |
| 257 | hanyuliu | F | 25 | aaaaaaaaaa |
| 258 | andkylee | F | 33 | bbbbbbbbbb |
| 259 | hanyuliu | F | 25 | aaaaaaaaaa |
| 260 | andkylee | F | 33 | bbbbbbbbbb |
| 261 | hanyuliu | F | 25 | aaaaaaaaaa |
| 262 | andkylee | F | 33 | bbbbbbbbbb |
| 263 | hanyuliu | F | 25 | aaaaaaaaaa |
| 264 | andkylee | F | 33 | bbbbbbbbbb |
| 265 | hanyuliu | F | 25 | aaaaaaaaaa |
| 266 | andkylee | F | 33 | bbbbbbbbbb |
| 267 | hanyuliu | F | 25 | aaaaaaaaaa |
| 268 | andkylee | F | 33 | bbbbbbbbbb |
| 269 | hanyuliu | F | 25 | aaaaaaaaaa |
| 270 | andkylee | F | 33 | bbbbbbbbbb |
| 271 | hanyuliu | F | 25 | aaaaaaaaaa |
| 272 | andkylee | F | 33 | bbbbbbbbbb |
| 273 | hanyuliu | F | 25 | aaaaaaaaaa |
| 274 | andkylee | F | 33 | bbbbbbbbbb |
| 275 | hanyuliu | F | 25 | aaaaaaaaaa |
| 276 | andkylee | F | 33 | bbbbbbbbbb |
| 277 | hanyuliu | F | 25 | aaaaaaaaaa |
| 278 | andkylee | F | 33 | bbbbbbbbbb |
| 279 | hanyuliu | F | 25 | aaaaaaaaaa |
| 280 | andkylee | F | 33 | bbbbbbbbbb |
| 281 | hanyuliu | F | 25 | aaaaaaaaaa |
| 282 | andkylee | F | 33 | bbbbbbbbbb |
| 283 | hanyuliu | F | 25 | aaaaaaaaaa |
| 284 | andkylee | F | 33 | bbbbbbbbbb |
| 285 | hanyuliu | F | 25 | aaaaaaaaaa |
| 286 | andkylee | F | 33 | bbbbbbbbbb |
| 287 | hanyuliu | F | 25 | aaaaaaaaaa |
| 288 | andkylee | F | 33 | bbbbbbbbbb |
| 289 | hanyuliu | F | 25 | aaaaaaaaaa |
| 290 | andkylee | F | 33 | bbbbbbbbbb |
| 291 | hanyuliu | F | 25 | aaaaaaaaaa |
| 292 | andkylee | F | 33 | bbbbbbbbbb |
| 293 | hanyuliu | F | 25 | aaaaaaaaaa |
| 294 | andkylee | F | 33 | bbbbbbbbbb |
| 295 | hanyuliu | F | 25 | aaaaaaaaaa |
| 296 | andkylee | F | 33 | bbbbbbbbbb |
| 297 | hanyuliu | F | 25 | aaaaaaaaaa |
| 298 | andkylee | F | 33 | bbbbbbbbbb |
| 299 | hanyuliu | F | 25 | aaaaaaaaaa |
| 300 | andkylee | F | 33 | bbbbbbbbbb |
+-----+----------+-----+------+------------+
201 rows in set (0.00 sec)
mysql>
再展示一个带where条件的语句的limit使用情况。
返回name为'andkylee'的所有记录的第100至300行数据。
select *from andkylee where name='andkylee' LimiT 99,201;
结果为:
mysql> select *from andkylee where name='andkylee' LimiT 99,201;
+-----+----------+-----+------+------------+
| id | name | sex | age | note |
+-----+----------+-----+------+------------+
| 200 | andkylee | F | 33 | bbbbbbbbbb |
| 202 | andkylee | F | 33 | bbbbbbbbbb |
| 204 | andkylee | F | 33 | bbbbbbbbbb |
| 206 | andkylee | F | 33 | bbbbbbbbbb |
| 208 | andkylee | F | 33 | bbbbbbbbbb |
| 210 | andkylee | F | 33 | bbbbbbbbbb |
| 212 | andkylee | F | 33 | bbbbbbbbbb |
| 214 | andkylee | F | 33 | bbbbbbbbbb |
| 216 | andkylee | F | 33 | bbbbbbbbbb |
| 218 | andkylee | F | 33 | bbbbbbbbbb |
| 220 | andkylee | F | 33 | bbbbbbbbbb |
| 222 | andkylee | F | 33 | bbbbbbbbbb |
| 224 | andkylee | F | 33 | bbbbbbbbbb |
| 226 | andkylee | F | 33 | bbbbbbbbbb |
| 228 | andkylee | F | 33 | bbbbbbbbbb |
| 230 | andkylee | F | 33 | bbbbbbbbbb |
| 232 | andkylee | F | 33 | bbbbbbbbbb |
| 234 | andkylee | F | 33 | bbbbbbbbbb |
| 236 | andkylee | F | 33 | bbbbbbbbbb |
| 238 | andkylee | F | 33 | bbbbbbbbbb |
| 240 | andkylee | F | 33 | bbbbbbbbbb |
| 242 | andkylee | F | 33 | bbbbbbbbbb |
| 244 | andkylee | F | 33 | bbbbbbbbbb |
| 246 | andkylee | F | 33 | bbbbbbbbbb |
| 248 | andkylee | F | 33 | bbbbbbbbbb |
| 250 | andkylee | F | 33 | bbbbbbbbbb |
| 252 | andkylee | F | 33 | bbbbbbbbbb |
| 254 | andkylee | F | 33 | bbbbbbbbbb |
| 256 | andkylee | F | 33 | bbbbbbbbbb |
| 258 | andkylee | F | 33 | bbbbbbbbbb |
| 260 | andkylee | F | 33 | bbbbbbbbbb |
| 262 | andkylee | F | 33 | bbbbbbbbbb |
| 264 | andkylee | F | 33 | bbbbbbbbbb |
| 266 | andkylee | F | 33 | bbbbbbbbbb |
| 268 | andkylee | F | 33 | bbbbbbbbbb |
| 270 | andkylee | F | 33 | bbbbbbbbbb |
| 272 | andkylee | F | 33 | bbbbbbbbbb |
| 274 | andkylee | F | 33 | bbbbbbbbbb |
| 276 | andkylee | F | 33 | bbbbbbbbbb |
| 278 | andkylee | F | 33 | bbbbbbbbbb |
| 280 | andkylee | F | 33 | bbbbbbbbbb |
| 282 | andkylee | F | 33 | bbbbbbbbbb |
| 284 | andkylee | F | 33 | bbbbbbbbbb |
| 286 | andkylee | F | 33 | bbbbbbbbbb |
| 288 | andkylee | F | 33 | bbbbbbbbbb |
| 290 | andkylee | F | 33 | bbbbbbbbbb |
| 292 | andkylee | F | 33 | bbbbbbbbbb |
| 294 | andkylee | F | 33 | bbbbbbbbbb |
| 296 | andkylee | F | 33 | bbbbbbbbbb |
| 298 | andkylee | F | 33 | bbbbbbbbbb |
| 300 | andkylee | F | 33 | bbbbbbbbbb |
| 302 | andkylee | F | 33 | bbbbbbbbbb |
| 304 | andkylee | F | 33 | bbbbbbbbbb |
| 306 | andkylee | F | 33 | bbbbbbbbbb |
| 308 | andkylee | F | 33 | bbbbbbbbbb |
| 310 | andkylee | F | 33 | bbbbbbbbbb |
| 312 | andkylee | F | 33 | bbbbbbbbbb |
| 314 | andkylee | F | 33 | bbbbbbbbbb |
| 316 | andkylee | F | 33 | bbbbbbbbbb |
| 318 | andkylee | F | 33 | bbbbbbbbbb |
| 320 | andkylee | F | 33 | bbbbbbbbbb |
| 322 | andkylee | F | 33 | bbbbbbbbbb |
| 324 | andkylee | F | 33 | bbbbbbbbbb |
| 326 | andkylee | F | 33 | bbbbbbbbbb |
| 328 | andkylee | F | 33 | bbbbbbbbbb |
| 330 | andkylee | F | 33 | bbbbbbbbbb |
| 332 | andkylee | F | 33 | bbbbbbbbbb |
| 334 | andkylee | F | 33 | bbbbbbbbbb |
| 336 | andkylee | F | 33 | bbbbbbbbbb |
| 338 | andkylee | F | 33 | bbbbbbbbbb |
| 340 | andkylee | F | 33 | bbbbbbbbbb |
| 342 | andkylee | F | 33 | bbbbbbbbbb |
| 344 | andkylee | F | 33 | bbbbbbbbbb |
| 346 | andkylee | F | 33 | bbbbbbbbbb |
| 348 | andkylee | F | 33 | bbbbbbbbbb |
| 350 | andkylee | F | 33 | bbbbbbbbbb |
| 352 | andkylee | F | 33 | bbbbbbbbbb |
| 354 | andkylee | F | 33 | bbbbbbbbbb |
| 356 | andkylee | F | 33 | bbbbbbbbbb |
| 358 | andkylee | F | 33 | bbbbbbbbbb |
| 360 | andkylee | F | 33 | bbbbbbbbbb |
| 362 | andkylee | F | 33 | bbbbbbbbbb |
| 364 | andkylee | F | 33 | bbbbbbbbbb |
| 366 | andkylee | F | 33 | bbbbbbbbbb |
| 368 | andkylee | F | 33 | bbbbbbbbbb |
| 370 | andkylee | F | 33 | bbbbbbbbbb |
| 372 | andkylee | F | 33 | bbbbbbbbbb |
| 374 | andkylee | F | 33 | bbbbbbbbbb |
| 376 | andkylee | F | 33 | bbbbbbbbbb |
| 378 | andkylee | F | 33 | bbbbbbbbbb |
| 380 | andkylee | F | 33 | bbbbbbbbbb |
| 382 | andkylee | F | 33 | bbbbbbbbbb |
| 384 | andkylee | F | 33 | bbbbbbbbbb |
| 386 | andkylee | F | 33 | bbbbbbbbbb |
| 388 | andkylee | F | 33 | bbbbbbbbbb |
| 390 | andkylee | F | 33 | bbbbbbbbbb |
| 392 | andkylee | F | 33 | bbbbbbbbbb |
| 394 | andkylee | F | 33 | bbbbbbbbbb |
| 396 | andkylee | F | 33 | bbbbbbbbbb |
| 398 | andkylee | F | 33 | bbbbbbbbbb |
| 400 | andkylee | F | 33 | bbbbbbbbbb |
| 402 | andkylee | F | 33 | bbbbbbbbbb |
| 404 | andkylee | F | 33 | bbbbbbbbbb |
| 406 | andkylee | F | 33 | bbbbbbbbbb |
| 408 | andkylee | F | 33 | bbbbbbbbbb |
| 410 | andkylee | F | 33 | bbbbbbbbbb |
| 412 | andkylee | F | 33 | bbbbbbbbbb |
| 414 | andkylee | F | 33 | bbbbbbbbbb |
| 416 | andkylee | F | 33 | bbbbbbbbbb |
| 418 | andkylee | F | 33 | bbbbbbbbbb |
| 420 | andkylee | F | 33 | bbbbbbbbbb |
| 422 | andkylee | F | 33 | bbbbbbbbbb |
| 424 | andkylee | F | 33 | bbbbbbbbbb |
| 426 | andkylee | F | 33 | bbbbbbbbbb |
| 428 | andkylee | F | 33 | bbbbbbbbbb |
| 430 | andkylee | F | 33 | bbbbbbbbbb |
| 432 | andkylee | F | 33 | bbbbbbbbbb |
| 434 | andkylee | F | 33 | bbbbbbbbbb |
| 436 | andkylee | F | 33 | bbbbbbbbbb |
| 438 | andkylee | F | 33 | bbbbbbbbbb |
| 440 | andkylee | F | 33 | bbbbbbbbbb |
| 442 | andkylee | F | 33 | bbbbbbbbbb |
| 444 | andkylee | F | 33 | bbbbbbbbbb |
| 446 | andkylee | F | 33 | bbbbbbbbbb |
| 448 | andkylee | F | 33 | bbbbbbbbbb |
| 450 | andkylee | F | 33 | bbbbbbbbbb |
| 452 | andkylee | F | 33 | bbbbbbbbbb |
| 454 | andkylee | F | 33 | bbbbbbbbbb |
| 456 | andkylee | F | 33 | bbbbbbbbbb |
| 458 | andkylee | F | 33 | bbbbbbbbbb |
| 460 | andkylee | F | 33 | bbbbbbbbbb |
| 462 | andkylee | F | 33 | bbbbbbbbbb |
| 464 | andkylee | F | 33 | bbbbbbbbbb |
| 466 | andkylee | F | 33 | bbbbbbbbbb |
| 468 | andkylee | F | 33 | bbbbbbbbbb |
| 470 | andkylee | F | 33 | bbbbbbbbbb |
| 472 | andkylee | F | 33 | bbbbbbbbbb |
| 474 | andkylee | F | 33 | bbbbbbbbbb |
| 476 | andkylee | F | 33 | bbbbbbbbbb |
| 478 | andkylee | F | 33 | bbbbbbbbbb |
| 480 | andkylee | F | 33 | bbbbbbbbbb |
| 482 | andkylee | F | 33 | bbbbbbbbbb |
| 484 | andkylee | F | 33 | bbbbbbbbbb |
| 486 | andkylee | F | 33 | bbbbbbbbbb |
| 488 | andkylee | F | 33 | bbbbbbbbbb |
| 490 | andkylee | F | 33 | bbbbbbbbbb |
| 492 | andkylee | F | 33 | bbbbbbbbbb |
| 494 | andkylee | F | 33 | bbbbbbbbbb |
| 496 | andkylee | F | 33 | bbbbbbbbbb |
| 498 | andkylee | F | 33 | bbbbbbbbbb |
| 500 | andkylee | F | 33 | bbbbbbbbbb |
| 502 | andkylee | F | 33 | bbbbbbbbbb |
| 504 | andkylee | F | 33 | bbbbbbbbbb |
| 506 | andkylee | F | 33 | bbbbbbbbbb |
| 508 | andkylee | F | 33 | bbbbbbbbbb |
| 510 | andkylee | F | 33 | bbbbbbbbbb |
| 512 | andkylee | F | 33 | bbbbbbbbbb |
| 514 | andkylee | F | 33 | bbbbbbbbbb |
| 516 | andkylee | F | 33 | bbbbbbbbbb |
| 518 | andkylee | F | 33 | bbbbbbbbbb |
| 520 | andkylee | F | 33 | bbbbbbbbbb |
| 522 | andkylee | F | 33 | bbbbbbbbbb |
| 524 | andkylee | F | 33 | bbbbbbbbbb |
| 526 | andkylee | F | 33 | bbbbbbbbbb |
| 528 | andkylee | F | 33 | bbbbbbbbbb |
| 530 | andkylee | F | 33 | bbbbbbbbbb |
| 532 | andkylee | F | 33 | bbbbbbbbbb |
| 534 | andkylee | F | 33 | bbbbbbbbbb |
| 536 | andkylee | F | 33 | bbbbbbbbbb |
| 538 | andkylee | F | 33 | bbbbbbbbbb |
| 540 | andkylee | F | 33 | bbbbbbbbbb |
| 542 | andkylee | F | 33 | bbbbbbbbbb |
| 544 | andkylee | F | 33 | bbbbbbbbbb |
| 546 | andkylee | F | 33 | bbbbbbbbbb |
| 548 | andkylee | F | 33 | bbbbbbbbbb |
| 550 | andkylee | F | 33 | bbbbbbbbbb |
| 552 | andkylee | F | 33 | bbbbbbbbbb |
| 554 | andkylee | F | 33 | bbbbbbbbbb |
| 556 | andkylee | F | 33 | bbbbbbbbbb |
| 558 | andkylee | F | 33 | bbbbbbbbbb |
| 560 | andkylee | F | 33 | bbbbbbbbbb |
| 562 | andkylee | F | 33 | bbbbbbbbbb |
| 564 | andkylee | F | 33 | bbbbbbbbbb |
| 566 | andkylee | F | 33 | bbbbbbbbbb |
| 568 | andkylee | F | 33 | bbbbbbbbbb |
| 570 | andkylee | F | 33 | bbbbbbbbbb |
| 572 | andkylee | F | 33 | bbbbbbbbbb |
| 574 | andkylee | F | 33 | bbbbbbbbbb |
| 576 | andkylee | F | 33 | bbbbbbbbbb |
| 578 | andkylee | F | 33 | bbbbbbbbbb |
| 580 | andkylee | F | 33 | bbbbbbbbbb |
| 582 | andkylee | F | 33 | bbbbbbbbbb |
| 584 | andkylee | F | 33 | bbbbbbbbbb |
| 586 | andkylee | F | 33 | bbbbbbbbbb |
| 588 | andkylee | F | 33 | bbbbbbbbbb |
| 590 | andkylee | F | 33 | bbbbbbbbbb |
| 592 | andkylee | F | 33 | bbbbbbbbbb |
| 594 | andkylee | F | 33 | bbbbbbbbbb |
| 596 | andkylee | F | 33 | bbbbbbbbbb |
| 598 | andkylee | F | 33 | bbbbbbbbbb |
| 600 | andkylee | F | 33 | bbbbbbbbbb |
+-----+----------+-----+------+------------+
201 rows in set (0.09 sec)
mysql>
4. 功能完善。
通过第3步骤中的两个结果集进行对比,我们可以发现,MySQL中的limit关键字类似于一个伪列的功能。比oracle中的rownum要强大,在oracle中要通过一次rownum再加一次虚拟列才能实现类似MySQL中的limit功能。因此limit功能存在优势的地方在于:不产生虚拟列。也就是说你不需要花费额外的功夫来处理列名列表了。最简单的就是直接用星号*,开发人员在编写存错过程的时候比较省事了。
最后,个人感觉:通过比较mssqlserver,oracle,sybase中的分页是实现方式,我感觉MySQL的limit是最简单最方便的。
————————————————————————————————-
—- 本文为andkylee个人原创,请在尊重作者劳动成果的前提下进行转载;
—- 转载务必注明原始出处 : http://www.dbainfo.net
—- 关键字:MySQL 分页 limit
————————————————————————————————-