mysql下一条记录与订单

时间:2012-07-10 09:27:16

标签: php mysql

我想要的是以下内容,我不知道是否有可能,但我希望有人可以帮助我。

我有2个查询,第一个是查询以选择指定的记录。

第二个查询是确定下一条记录。我知道我可以这样做:

SELECT * FROM table WHERE id > given_id ORDER BY id LIMIT 1

现在的问题是ORDER BY是可变的(访问者可以更改排序顺序)

我只有id和表进行排序(由php给出)。我想知道下一条记录,例如排序顺序,例如ORDER BY日期或ORDER BY时间等等。

有没有办法用MYSQL做到这一点?

3 个答案:

答案 0 :(得分:0)

为什么需要2个查询?使用一个查询      SELECT * FROM表WHERE id> given_id ORDER BY ?? (可能有页面大小的限制) 然后从上面的结果集中获取您的记录。

答案 1 :(得分:0)

试试这个:

select * from table  where id = (select min(id) from table where id > given_id);

答案 2 :(得分:0)

你可以这样做

-- skip 0, load one (same as LIMIT 1)
SELECT * FROM table WHERE id > given_id
ORDER BY id
LIMIT 0,1

-- skip one, load one
SELECT * FROM table WHERE id > given_id
ORDER BY id
LIMIT 1,1