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

¿Cómo seleccionar una fila por clave principal, una fila 'arriba' y una fila 'abajo' por otra columna?

Primero, consulta la puntuación de ese usuario en particular:

select  score
from    users
where   id = 42

Digamos que la puntuación del usuario 42 es 6. Luego puede consultar al siguiente usuario como:

select  name
,       score
from    users
where   score > 6
order by
        score
limit   1

y al usuario anterior le gusta:

select  name
,       score
from    users
where   score < 6
order by
        score desc
limit   1