sql >> Base de Datos >  >> RDS >> Mysql

Cómo buscar el valor del rango de la base de datos

Si te entendí correctamente, puedes usar CASE EXPRESSION así:

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

EDITAR:

O, si estos nombres pueden cambiar dinámicamente, con una unión:

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)