我有一个只显示10行的列表。
我需要选择接下来的10行和前10行。但是,我用作参考的ID并不是完全按顺序排列的。 (例如,1,2,5,10,15)。如何使用ID选择接下来的几行?
答案 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 关键字。