首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MYSQL相邻行和当前行

MYSQL相邻行和当前行
EN

Stack Overflow用户
提问于 2013-04-24 02:43:38
回答 2查看 682关注 0票数 1

用于获取相邻行以及当前(Id)给定条件的MYSQL查询

喜欢

代码语言:javascript
运行
复制
ID | BOOK     |
--------------
1  | xyzbooks |

2  | pqrbooks |

3  | dnsaddds |

4  | dfbsakjf |

5  | dbsadbdd |

6  | tyrbooks |

7  | sfdffdsf |

8  | yuibooks |

我在id3 (dnsaddds,我可以从url获得)上搜索书籍。现在我需要获取第三行的行数据,以及搜索文本的下一个和前一个结果(书籍)

预期结果如下

代码语言:javascript
运行
复制
ID | BOOK     | AUTHOR | DATE
---------------------------
2  | pqrbooks | fbsdjf | 2013

3  | dnsaddds | fdsfbs | 2012

6  | tyrbooks | fdsdff | 2011

查找不带联合等的单个查询。

EN

回答 2

Stack Overflow用户

发布于 2013-04-24 21:12:35

这应该是可行的:

代码语言:javascript
运行
复制
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)
票数 2
EN

Stack Overflow用户

发布于 2013-04-24 02:55:58

您可以通过union将所需的三行组合在一起来完成此操作:

代码语言:javascript
运行
复制
(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
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16176854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档