mysql怎么指定查询一张表的查询结果,如最后5行记录和最前5行记录

1 row in set (0.00 sec)7. 查询一条记录($id)的上一条记录:select * from student where id
mysql怎么指定查询一张表的查询结果,如最后5行记录和最前5行记录
MySQL如何指定查询一张表的查询结果,如最后5行记录和最前5行记录?我们以student表为例,表中包含三个字段:id、name、age,id为主键,为自增,共有10条记录。

MySQL查询语句如下:

mysql> select * from student;

结果:

+----+------+------+
| id | name | age |
+----+------+------+
| 1 | li | 11 |
| 2 | zh | 12 |
| 3 | chou | 13 |
| 4 | he | 14 |
| 5 | lin | 15 |
| 6 | ll | 16 |
| 7 | chen | 17 |
| 8 | yu | 18 |
| 9 | wu | 19 |
| 10 | xie | 20 |
+----+------+------+
10 rows in set (0.00 sec)

1. 查询第一行记录:select * from student limit 1;

结果:

+----+------+------+
| id | name | age |
+----+------+------+
| 1 | li | 11 |
+----+------+------+
1 row in set (0.00 sec)

2. 查询最后一行记录:select * from student order by id desc limit 1;

结果:

+----+------+------+
| id | name | age |
+----+------+------+
| 10 | xie | 20 |
+----+------+------+
1 row in set (0.00 sec)

3. 查询前5行记录:select * from student limit 5;,select * from student limit 0,5;,select * from student order by id asc limit 5;

结果:

+----+------+------+
| id | name | age |
+----+------+------+
| 1 | li | 11 |
| 2 | zh | 12 |
| 3 | chou | 13 |
| 4 | he | 14 |
| 5 | lin | 15 |
+----+------+------+
5 rows in set (0.00 sec)

4. 查询后5行记录:select * from student order by id desc limit 5;

结果:

+----+------+------+
| id | name | age |
+----+------+------+
| 10 | xie | 20 |
| 9 | wu | 19 |
| 8 | yu | 18 |
| 7 | chen | 17 |
| 6 | ll | 16 |
+----+------+------+
5 rows in set (0.00 sec)

5. 查询第m行到第n行记录:select * from student limit m,n;,返回m+1到m+n行记录,m代表开始的下标,n代表查找的结果数,将返回n行结果。

例如:select * from student limit 2,8; 返回3到10行记录。

+----+------+------+
| id | name | age |
+----+------+------+
| 3 | chou | 13 |
| 4 | he | 14 |
| 5 | lin | 15 |
| 6 | ll | 16 |
| 7 | chen | 17 |
| 8 | yu | 18 |
| 9 | wu | 19 |
| 10 | xie | 20 |
+----+------+------+
8 rows in set (0.00 sec)

6. 查询一条记录($id)的下一条记录:select * from student where id>$id order by id asc limit 1;,例如当$id=4时,返回第5条记录。

+----+------+------+
| id | name | age |
+----+------+------+
| 5 | lin | 15 |
+----+------+------+
1 row in set (0.00 sec)

7. 查询一条记录($id)的上一条记录:select * from student where id<$id order by id desc limit 1;,例如当$id=4时,返回第3条记录。

+----+------+------+
| id | name | age |
+----+------+------+
| 3 | chou | 13 |
+----+------+------+
1 row in set (0.00 sec)2024-12-12
mengvlog 阅读 31 次 更新于 2025-08-06 17:36:02 我来答关注问题0
  • 1. 查询第一行记录:select * from student limit 1;结果:+---+---+---+ | id | name | age | +---+---+---+ | 1 | li | 11 | +---+---+---+ 1 row in set (0.00 sec)2. 查询最后一行记录:select * from student order by id desc limit 1;结果:+---+-...

  • 在MySQL中,可以通过describe命令查看一张表的详细信息,包括主键、字段是否为空等。具体操作如下:首先,确定要查询的表名,这里我们以"sample"数据库中的"shop"表为例。执行以下命令:mysql> describe shop;系统将返回表"shop"的字段信息,如下所示:字段名 | 类型 | 是否为空 | 是否为主键 | 默认...

  •  wzc2027 mysql怎么指定查询一张表的查询结果,如最后5行记录和最前5行记录

    select * from student limit 5;select * from student limit 0,5;select * from student order by id asc limit 5;前五条记录的查询语句。查询后5条,注意结果为倒序排序,要使用desc select * from student order by id desc limit 5 select * from student limit m,n;返回m+1到m+n行记...

  • 方法一、使用BETWEEN运算符查询 BETWEEN运算符是MySQL中用来查询特定区间内的数据的最为有效的方法,理解该语句非常容易。它可以同时指定两个值,用以标记一个范围。例如,要查询某个数字字段在范围3到8之间的记录,可以使用以下SQL语句:`SELECT * FROM 表名 WHERE 字段名 BETWEEN 3 AND 8`方法二、使...

  •  翡希信息咨询 一文秒懂Mysql中的select查询操作

    带两个值的LIMIT可以指定从行号为第一个值的位置开始。为了避免混淆,MySQL 5支持LIMIT的另一种替代语法,即使用如下形式:LIMIT 4 OFFSET 3。意为从行3开始取4行,就像LIMIT 3, 4一样。注意:检索出来的第一行为行0而不是行1。因此,LIMIT 1, 1将检索出第二行而不是第一行。使用完全限定的表...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部