如何编写 MySQL 查询来选择前 10 条记录?
mysqlmysqli database更新于 2023/10/16 5:02:00
要选择前 10 条记录,我们可以先按升序或降序对记录进行排序。这样,使用 LIMIT 10 仅获取 10 条记录 −
select *from (select *from yourTableName ORDER BY yourColumnName ASC LIMIT 10)anyAliasName ORDER BY yourColumnName DESC;
首先我们创建一个表 −
mysql> create table DemoTable683(Page int); Query OK, 0 rows affected (0.83 sec)
使用 insert 命令在表中插入一些记录 −
mysql> insert into DemoTable683 values(100); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable683 values(101); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable683 values(102); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable683 values(103); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable683 values(104); Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable683 values(105); Query OK, 1 row affected (0.21 sec) mysql> insert into DemoTable683 values(106); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable683 values(107); Query OK, 1 row affected (0.12 sec) mysql> insert into DemoTable683 values(108); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable683 values(109); Query OK, 1 row affected (0.28 sec) mysql> insert into DemoTable683 values(110); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable683 values(111); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable683 values(112); Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable683 values(113); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable683 values(114); Query OK, 1 row affected (0.10 sec)
使用 select 语句显示表中的所有记录 −
mysql> select *from DemoTable683;
这将产生以下输出 −
+------+ | Page | +------+ | 100 | | 101 | | 102 | | 103 | | 104 | | 105 | | 106 | | 107 | | 108 | | 109 | | 110 | | 111 | | 112 | | 113 | | 114 | +------+ 15 rows in set (0.00 sec)
以下是在 MySQL 中选择前 10 条记录的查询 −
mysql> select *from (select *from DemoTable683 ORDER BY Page ASC LIMIT 10)tbl ORDER BY Page DESC;
这将产生以下输出 −
+------+ | Page | +------+ | 109 | | 108 | | 107 | | 106 | | 105 | | 104 | | 103 | | 102 | | 101 | | 100 | +------+ 10 rows in set (0.00 sec)