在MySQL中选择一个具有数字范围的查询

Tom*_*ato 3 mysql sql

我有一个这样的用户表:

User (id, name, rank)
Run Code Online (Sandbox Code Playgroud)

我想检查用户的排名并获取相应的文本(例如:如果用户的排名在1至10之间,我可以获取文本“用户在前10名!”)

我创建了一个rank_text表,如下所示:

rank_text(id, rank_from, rank_to, text)
         (1,  1,         10,      "You are in top 10!")
Run Code Online (Sandbox Code Playgroud)

我如何查询这种情况?

能给我个建议吗?

非常感谢你!

Gor*_*off 5

您可以使用join

select u.*, rt.text
from users u left join
     rank_text rt
     on u.rank between rt.rank_from and rt.rank_to;
Run Code Online (Sandbox Code Playgroud)