【发布时间】:2013-04-23 22:01:32
【问题描述】:
我正在处理一个 mysql 查询,其中我需要结果集中的上一个和下一个 id。我能够在没有搜索查询的情况下得到它。但是在进行搜索时,显然 id 将无济于事......它将是基于参数的其他字段。
所以,我正在运行两个不同的查询,一个针对当前用户 ID,即 123..,另一个针对上一个用户 ID 和下一个用户 ID。
查询是这样的......
select fields from users where ((
id = IFNULL((select min(id) from users where id > 123),0)
or id = IFNULL((select max(id) from users where id < 123),0)
) AND (username like "%john%"))
通过以上内容,我得到了用户的上一个和下一个 id...但是当我对示例“john”进行搜索时,我无法从搜索结果中获取下一个 id 和上一个 id?我也有字母排序 A-Z 和 Z-A。所以我将不得不按名称排序为按名称升序,降序。
在会话中存储搜索结果 ID 包括分页 ID 是个好主意吗?
有哪些选项可以实现这一目标?请分享您的想法?
【问题讨论】:
-
似乎与这个问题相似;检查我的答案,因为它可能会有所帮助; stackoverflow.com/questions/16140208/…