大意是给两个表:班级表和学生表,在学生表中有出生年月,求出年龄最小的10个学生在sql server中是有top n的用法,在mysql是没有的,但有limit的用法,故上网谷歌了一下,
测试如下:表结构为users
username password
eyes 123
mm 12
mmm 123
mmmm 123
mse 123
select u.username from users u order by u.username desc limit 0,2
结果为:
mse 123
mmmm 123
引用一下http://www.phpweblog.net/peiyinjin/archive/2008/04/15/3199.html
对此表示感谢。
在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,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。
其中第二种95,-1我也测试了一下不能通过。其它都是可以的。这个知识点需要重点掌握一下。以后还是可能考到的。
测试如下:表结构为users
username password
eyes 123
mm 12
mmm 123
mmmm 123
mse 123
select u.username from users u order by u.username desc limit 0,2
结果为:
mse 123
mmmm 123
引用一下http://www.phpweblog.net/peiyinjin/archive/2008/04/15/3199.html
对此表示感谢。
在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,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。
其中第二种95,-1我也测试了一下不能通过。其它都是可以的。这个知识点需要重点掌握一下。以后还是可能考到的。