SQL在2个值之间选择价格

时间:2013-09-23 14:29:50

标签: mysql sql

我的值为15。

然后我有一个包含玩家不同等级的数据库。

他们在我的排名表中有以下信息:

Level       CountFrom     CountTo
Level 1       0              9
Level 2       10             19
Level 3       20             29

如何在sql命令中拉出关卡?

我有:

SELECT *
FROM `ranks
WHERE `CountTo` <= '15'

这将结果为1级和2级。

我能想到的唯一方法就是OrderBy CountTo DESC并将结果限制为1.

有更好的方法吗?

2 个答案:

答案 0 :(得分:4)

您也可以在查询中使用CountFrom

SELECT *
FROM ranks
WHERE CountFrom <= 15 AND CountTo >= 15
  • 级别1将被排除,因为其CountTo(9)值会导致CountTo >= 15错误。
  • 将包含第2级,因为CountFrom的{​​{1}}(10)属于CountFrom <= 15,而CountTo(19)属于CountTo >= 15
  • 级别3将被排除,因为其CountFrom(20)值会导致CountFrom <= 15错误。

答案 1 :(得分:2)

您可以使用BETWEEN

SELECT *
FROM `ranks
WHERE '15' between `CountTFrom` and `CountTo`