Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como posso selecionar a linha adjacente no sql quando ordenado por um campo diferente?


Se as curtidas forem números únicos, seguir deve funcionar.

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

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

Você pode alterar 1 deles para <=ou>=e adicionar WHERE id != ID