在mysql中选择next / previous 10行

时间:2011-04-29 10:19:08

标签: mysql

我有一个只显示10行的列表。

我需要选择接下来的10行和前10行。但是,我用作参考的ID并不是完全按顺序排列的。 (例如,1,2,5,10,15)。如何使用ID选择接下来的几行?

5 个答案:

答案 0 :(得分:28)

你可以尝试限制:

select * from `table` limit <startIndex>,<NumberOfRecords>;

例如: -

select * from `user` limit 5,10;

这将从第6行开始返回10行。

答案 1 :(得分:3)

可能的查询是

SELECT * FROM mytable WHERE id > current_id LIMIT 10

为之前的10个

SELECT * FROM mytable WHERE id < current_id ORDER BY id DESC LIMIT 10

答案 2 :(得分:1)

(
SELECT  *
FROM    mytable
WHERE   id < $myid
ORDER BY
        id DESC
LIMIT 10
)
UNION ALL
(
SELECT  *
FROM    mytable
WHERE   id >= $myid
ORDER BY
        id
LIMIT 10
)
ORDER BY
        id

答案 3 :(得分:0)

首先选择10个第一个值:

SELECT * FROM `leave_type` ORDER BY id asc limit 10;

然后

select * from `leave_type` limit 10, 10;

将显示第10个值(范围为10)之后的行,并从第11个值开始。

答案 4 :(得分:-1)

您可以使用MySQL的 limit 关键字。