我有一个表,其中存储了我的等级,并且需要升级到这样的另一个等级的积分:
id | level | pointsrequired
-----------------------------
1 | 0 | 0
2 | 1 | 20
3 | 2 | 50
4 | 3 | 90
现在,所需的这些点可以是动态的,因此不确定我是否使用修订案例的值,我想检查我的当前点是否大于上一个点,而小于下一个点,则应该升级我的级别,否则它就可以了。
这是我要查询的查询,但不确定是否适当的解决方案。
SELECT * FROM tbl WHERE pointsrequired BETWEEN 25 AND (SELECT MAX(pointsrequired) FROM tbl) LIMIT 1
就像以前我的积分是0,而现在我是25,我应该升级到2级
任何其他解决方案对此都不确定。
最佳答案
那么对于25个您想获得2级?
SELECT
`id`
, `level`
, `pointsrequired`
FROM
tbl
WHERE
pointsrequired <= 25
ORDER BY
pointsrequired DESC
LIMIT 1