mysql – 在值的上方和下方获取行或最近的行

weixin_38082682 2019-09-12 12:27:38
可以说我有一个看起来像这样的表: +-------+-------+ | data | stuff | +-------+-------+ | 0.90 | a | | 0.95 | b | | 0.98 | c | | 0.99 | d | | 1.00 | e | | 1.01 | f | | 1.02 | g | +-------+-------+ 我需要最接近“围绕”(上方和下方)给定数字的行.例如,如果用户输入0.96,我需要这两行: | 0.95 | b | | 0.98 | c | 如果有完全匹配,我只需要那一行.例如,如果用户输入1,我需要此行: | 1.00 | e | MySQL查询只会返回这些特定的行?
...全文
17 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38098251 2019-09-12
  • 打赏
  • 举报
回复
使用UNION DISTINCT和两个子查询: (select * from `table` where data <= 0.96 order by data desc limit 1) UNION DISTINCT (select * from `table` where data >= 0.96 order by data asc limit 1)

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧