Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie wählt man eine Zeile nach Primärschlüssel, eine Zeile 'über' und eine Zeile 'unter' nach einer anderen Spalte aus?

Fragen Sie zuerst die Punktzahl für diesen bestimmten Benutzer ab:

select  score
from    users
where   id = 42

Angenommen, die Punktzahl für Benutzer 42 ist 6. Sie können dann den nächsten Benutzer wie folgt abfragen:

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

und der vorherige Benutzer wie:

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