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 阅读 42 次 更新于 2025-10-30 12:36:38 我来答关注问题0
  •  wzc2027 mysql怎么指定查询一张表的查询结果,如最后5行记录和最前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行记录,m代表开始的下标,n代表查找的...

  •  阿暄生活 MYSQL中怎么直接查看一个表的字符集

    在MySQL中,查看一个表的字符集的方法是使用命令:SHOW CREATE TABLE table_name;,例如,对于名为"user"的表,命令应为:SHOW CREATE TABLE user;执行该命令后,将返回一个包含表创建语句的表格,其中包括字符集信息。例如:| user | CREATE TABLE `user` ( `pkid` int(8) NOT NULL, `username...

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

  •  翡希信息咨询 MySql怎么查询前10条数据?

    基本语法:sqlSELECT * FROM table_name LIMIT 10;其中,table_name替换为你要查询的表名。这条SQL语句会返回表table_name中的前10条记录。 解释: SELECT *:表示选择所有列。 FROM table_name:指定要查询的表。 LIMIT 10:限制返回的记录数为10条。 示例:如果你有一个名为table1的表,并希望...

  •  湖北倍领科技 在MySql中、怎样根据年份或者月份查询数据表中的数据?

    假如需要查询特定日期的数据,比如本年第二天,可以利用dayofyear(date)='2'来实现。这条SQL语句的完整形式是:select * from 表 where dayofyear(date)='2';。这里dayofyear()函数会返回给定日期在本年内是第几天。以上这些函数都是MySQL提供的日期和时间处理函数,通过它们可以方便地从表中检索出符合...

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

mySQL相关话题

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