如何编写MySQL查询以选择前10条记录?

要选择前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);

使用插入命令在表中插入一些记录-

mysql> insert into DemoTable683 values(100);
mysql> insert into DemoTable683 values(101);
mysql> insert into DemoTable683 values(102);
mysql> insert into DemoTable683 values(103);
mysql> insert into DemoTable683 values(104);
mysql> insert into DemoTable683 values(105);
mysql> insert into DemoTable683 values(106);
mysql> insert into DemoTable683 values(107);
mysql> insert into DemoTable683 values(108);
mysql> insert into DemoTable683 values(109);
mysql> insert into DemoTable683 values(110);
mysql> insert into DemoTable683 values(111);
mysql> insert into DemoTable683 values(112);
mysql> insert into DemoTable683 values(113);
mysql> insert into DemoTable683 values(114);

使用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)