首页 > 解决方案 > 如何按范围选择包含数字的行?

问题描述

我想从你那里得到一些帮助。我有一个查询,看起来像这样: 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

标签: mysqlsql

解决方案


我明白你在问什么,如果我是对的,你可以尝试使用lead()- 以下对你有用吗?

select id
from level
where  $xp >minXp and $xp < Lead(minXp,1) over(order by id)

推荐阅读