mysql - 如何按范围选择包含数字的行?
问题描述
我想从你那里得到一些帮助。我有一个查询,看起来像这样:
SELECT id FROM level WHERE minXp <= $xp AND maxXp >= $xp
。我的目标是摆脱一列(maxXp),只使用minXp。但是我在 sql 中找不到一个函数来编写一个只选择一行的查询。
我的桌子现在看起来像这样:
id int(4) primary UNSIGNED AUTO_INCREMENT
minXp int(9) unique UNSIGNED
maxXp int(9) unique UNSIGNED
价值观:
1 000 100
2 101 500
3 501 3000
etc
解决方案
我想我明白你在问什么,如果我是对的,你可以尝试使用lead()
- 以下对你有用吗?
select id
from level
where $xp >minXp and $xp < Lead(minXp,1) over(order by id)
推荐阅读
- symfony - 检索用户的收藏夹 symfony
- excel - excel日期自动重排问题
- java - 在 java 中实现 DestinationAvailabilityListener 时出错
- vba - 基于查找的 VBA 制表
- instagram - 使用 API 获取粉丝数超过 100 万的 Instagram 用户
- java - 如何在 Android 中检查字符串条件
- c++ - if (var=x) {var=y} 原子编码的好方法?
- mysql - MYSQL 从两个表中选择匹配的值
- sql - 我怎样才能找到最大值(RowID)
- javascript - 如何在 ReactJs 中格式化 JSON 结构