mysql如何两个字段排序,查找上下条

图片描述

如图所示。他的列表按照这样查询出来的

SELECT * FROM content WHERE ORDER BY sort asc,cid DESC;


现在要获取下一条到底怎么办,因为发现普通的 cid<int  根本取不对,因为还要考虑sort的字段
但是sort的字段是很极端的,客户有可能不填的
阅读 6k
3 个回答

写个存储过程把以上结果插入到一个临时表,用游标循环临时表取每一条记录就行了,我没太明白你的取下一条是什么意思

MySQL中根据ID查询指定记录(id为1024)的上一条记录和下一条记录:
上一条 SELECT * FROM posts WHERE id < 1024 ORDER BY id DESC LIMIT 1;
下一条 SELECT * FROM posts WHERE id > 1024 ORDER BY id LIMIT 1;

或者试试:
上一条

select * from content where cid = 
(select max(cid) from content where cid < 1024 order by sort asc, cid desc);

下一条

select * from content where cid = 
(select min(cid) from content where cid > 1024 order by sort asc, cid desc);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题