首页 文章资讯内容详情

MySQL查询有效地选择前n行?

2026-06-04 1 花语

使用索引可以有效地选择前n行。让我们首先创建一个表-

create table DemoTable (StudentName varchar(100), StudentScore int );

示例

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

insert into DemoTable values(John,34); insert into DemoTable values(Carol,55); insert into DemoTable values(Bob,58); insert into DemoTable values(Sam,38); insert into DemoTable values(Mike,48); insert into DemoTable values(Adam,41); insert into DemoTable values(Chris,47); insert into DemoTable values(Robert,40); insert into DemoTable values(David,89);

使用select语句显示表中的所有记录-

select *from DemoTable;

输出结果

+-------------+--------------+ | StudentName | StudentScore | +-------------+--------------+ | John | 34 | | Carol | 55 | | Bob | 58 | | Sam | 38 | | Mike | 48 | | Adam | 41 | | Chris | 47 | | Robert | 40 | | David | 89 | +-------------+--------------+ 9 rows in set (0.00 sec)

示例

以下是有效选择前n行的查询。我们使用了ORDERBY并跳过了5行。跳过后,有3条记录可见,因为我们使用了LIMIT3-

alter table DemoTable ADD INDEX name_score(StudentName,StudentScore); Records: 0 Duplicates: 0 Warnings: 0 select StudentName,StudentScore from DemoTable order by StudentScore LIMIT 5,3;

输出结果

+-------------+--------------+ | StudentName | StudentScore | +-------------+--------------+ | Mike | 48 | | Carol | 55 | | Bob | 58 | +-------------+--------------+ 3 rows in set (0.00 sec)