Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment rechercher la valeur de la plage à partir de la base de données

Si j'ai bien compris, vous pouvez utiliser CASE EXPRESSION comme ceci :

SELECT id,user_id,
       case when friend_points between 0 and 49 then 'Normal rate'
            when friend_points between 50 and 99 then 'Friend'
            when friend_points between 100 and 149 then 'Good friend'
            .......
       end as 'Friend_Status'
FROM profile

MODIF :

Ou, si ces noms peuvent changer dynamiquement, alors avec une jointure :

SELECT t.id,t.user_id,s.name
FROM profile t
INNER JOIN friend_levels s ON(t.friend_points >= s.points_needed)
WHERE s.points_needed = (select min(f.points_needed)
                         from friend_levels f
                         where t.friend_points >= f.points_needed)