Mysql
 sql >> Database >  >> RDS >> Mysql

Come selezionare la riga in base alla chiave primaria, una riga "sopra" e una riga "sotto" per altra colonna?

Per prima cosa, interroga il punteggio per quel particolare utente:

select  score
from    users
where   id = 42

Supponiamo che il punteggio per l'utente 42 sia 6. Puoi quindi interrogare l'utente successivo come:

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

e l'utente precedente come:

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