易截截图软件、单文件、免安装、纯绿色、仅160KB

Mysql中limit的用法详解


Mysql中limit的用法:在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能。
SELECT * from table   LIMIT [offset,] rows | rows OFFSET offset
LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1): 为了与 PostgreSQL 兼容,MySQL 也支持句法: LIMIT # OFFSET #。
mysql> SELECT * from table LIMIT 5,10; // 检索记录行 6-15
//为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1:
mysql> SELECT * from table LIMIT 95,-1; // 检索记录行 96-last.
//如果只给定一个参数,它表示返回最大的记录行数目:
mysql> SELECT * from table LIMIT 5;     //检索前 5 个记录行
//换句话说,LIMIT n 等价于 LIMIT 0,n。
注意limit 10和limit 9,1的不同:
例如:
1.
Select * from cyclopedia Where ID>=(
Select Max(ID) from (
Select ID from cyclopedia Order By ID limit 90001
) As tmp
) limit 100;
2.
Select * from cyclopedia Where ID>=(
Select Max(ID) from (
Select ID from cyclopedia Order By ID limit 90000,1
) As tmp
) limit 100;
同样是取90000条后100条记录,第1句快还是第2句快?
第1句是先取了前90001条记录,取其中最大一个ID值作为起始标识,然后利用它可以快速定位下100条记录
第2句择是仅仅取90000条记录后1条,然后取ID值作起始标识定位下100条记录
第1句执行结果.100 rows in set (0.23) sec
第2句执行结果.100 rows in set (0.19) sec
其实第2句完全可以简化成:
Select * from cyclopedia Where ID>=(
Select ID from cyclopedia limit 90000,1
)limit 100;
直接利用第90000条记录的ID,不用经过Max运算,这样做理论上效率因该高一些,但在实际使用中几乎看不到效果,因为本身定位ID返回的就是1条记录,Max几乎不用运作就能得到结果,但这样写更清淅明朗,省去了画蛇那一足.
Select Top 100 * from cyclopedia Where ID>=(
Select Top 90001 Max(ID) from (
Select ID from cyclopedia Order By ID
) As tmp
)
但不管是实现方


相关文档:

mysql 时间的处理

TO_DAYS(date)   //给定一个日期,返回从0年开始的天数。
from_DAYS(N)   //给定一个天数,返回一个日期。
如:
select TO_DAYS('1997-10-7')   //返回729669
select from_DAYS(729669)    //返回1997-10-7
UNIX_TIMESTAMP(), UNIX_TIMESTAMP(date)
若无参数调用,则返 ......

用ADO操作MYSQL数据库

用ADO操作MYSQL数据库 VBE中请确定引用 microsoft activeX data objects xx 库连接及更新MYSQL数据库数据
代码如下: Sub updt() Dim strconnt As String strconnt = "" Set connt = New ADODB.Connection Dim sevip, Db, user, pwd As String '设服务器地址、所连数据,及登录用户密码 sevip = "localhost" '"192.168.*.* ......

Linux环境下MySQL的安装

1、下载MySQL免安装版/二进制版软件(不用编译)
文件格式:MYSQL-VERSION-OS.tar.gz
 
2、创建MySQL组,建立MySQL用户并加入到mysql组中
(不同版本的Unix中,groupadd和useradd的语法可能会稍有不同。)
#groupadd mysql
#useradd -g mysql mysql
 
3、进入目录/usr/local,解压缩免安装版,并在 ......

给mysql添加一个管理员的SQL语句

insert into mysql.user
SELECT '%', 'admin', PASSWORD('admin'), Select_priv, Insert_priv, Update_priv,
 Delete_priv, Create_priv, Drop_priv, Reload_priv,
 Shutdown_priv,  Process_priv, File_priv, Grant_priv, References_priv,
 Index_priv, Alter_priv, Show_db_priv, Super_priv, ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号