MySQL数据库中的下一个最低值

时间:2012-09-03 00:59:04

标签: mysql sql

SELECT * 
FROM  `experience` 
WHERE  `reqexp` <>  '4793'
ORDER BY  'lvl' DESC 
LIMIT 1

这是我想要做的。我正在为客户端制作在线游戏,并且需要能够使用具有随机值的mysql查询,并找到与该经验量相关联的级别。在这种情况下,我需要找到数据库中已存在的低于4793的下一个值,以便我可以确定玩家的适当级别。任何想法?

1 个答案:

答案 0 :(得分:4)

不是按lvl排序(用'单引号而不是反引号错误引用,因此被视为字符串文字),您需要按reqexp DESC排序并查看仅适用于值< 4793

SELECT *
FROM `experience`
WHERE `reqexp` < 4793
ORDER BY `reqexp` DESC
LIMIT 1

如果您仍然需要按lvl进行子订单,则:

ORDER BY `reqexp` DESC, `lvl`