我想要的是以下内容,我不知道这是否可能,但我希望有人能帮助我。
我有两个查询,第一个是选择指定记录的查询。
第二个查询是确定下一条记录。我知道我可以做到这一点:
SELECT * FROM table WHERE id > given_id ORDER BY id LIMIT 1现在的问题是ORDER BY是可变的(访问者可以改变排序顺序)
我只得到了id和排序依据的表(由php给出)。我还想知道下一条记录的排序顺序,例如,按日期排序或按时间排序等。
有没有办法用MYSQL做到这一点?
发布于 2012-07-10 17:44:13
你可以做到的
-- 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 发布于 2012-07-10 17:32:11
为什么需要2个查询?使用一个查询SELECT * FROM table WHERE id > given_id ORDER BY ??(可能有页面大小的限制),然后从上面的结果集中获取记录。
发布于 2012-07-10 17:39:30
试试这个:
select * from table where id = (select min(id) from table where id > given_id);https://stackoverflow.com/questions/11410335
复制相似问题