用于获取相邻行以及当前(Id)给定条件的MYSQL查询
喜欢
ID | BOOK |
--------------
1 | xyzbooks |
2 | pqrbooks |
3 | dnsaddds |
4 | dfbsakjf |
5 | dbsadbdd |
6 | tyrbooks |
7 | sfdffdsf |
8 | yuibooks |我在id3 (dnsaddds,我可以从url获得)上搜索书籍。现在我需要获取第三行的行数据,以及搜索文本的下一个和前一个结果(书籍)
预期结果如下
ID | BOOK | AUTHOR | DATE
---------------------------
2 | pqrbooks | fbsdjf | 2013
3 | dnsaddds | fdsfbs | 2012
6 | tyrbooks | fdsdff | 2011查找不带联合等的单个查询。
发布于 2013-04-24 21:12:35
这应该是可行的:
select id, book, author, date
from t
where id = 3
OR id = (SELECT MAX(id) FROM t WHERE id < 3)
OR id = (SELECT MIN(id) FROM t WHERE id > 3)发布于 2013-04-24 02:55:58
您可以通过union将所需的三行组合在一起来完成此操作:
(select id, book, author, date
from t
where id = 3
) union all
(select id, book, author, date
from t
where id < 3 and book like '%books%'
order by id desc
limit 1
) union all
(select id, book, author, date
from t
where id > 3 and book like '%books%'
order by id
limit 1
)https://stackoverflow.com/questions/16176854
复制相似问题