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

Comment sélectionner une ligne par clé primaire, une ligne 'au-dessus' et une ligne 'en-dessous' par une autre colonne ?

Tout d'abord, interrogez le score de cet utilisateur particulier :

select  score
from    users
where   id = 42

Supposons que le score de l'utilisateur 42 soit 6. Vous pouvez alors interroger l'utilisateur suivant comme :

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

et l'utilisateur précédent comme :

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