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

Comment puis-je sélectionner une ligne adjacente dans sql lorsqu'elle est commandée par un champ différent ?

Si les likes sont des nombres uniques, suivre devrait fonctionner.

précédent :

SELECT * FROM table WHERE likes < (SELECT likes FROM table WHERE id = ID) ORDER BY likes DESC LIMIT 1

suivant :

SELECT * FROM table WHERE likes > (SELECT likes FROM table WHERE id = ID) ORDER BY likes ASC LIMIT 1

Vous pouvez changer 1 d'entre eux en <=ou>=et ajouter WHERE id != ID