mysql下一条记录,按顺序排序


mysql next record with order by

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

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

第二个查询是确定下一个记录。我知道我可以用做到这一点

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

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

我只得到了要排序的id和表(由php提供)。我还想知道下一条记录,例如排序顺序是order BY日期或order BY时间等。

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

您可以执行此

-- 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 

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

试试这个:

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