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

Mysql Select Next &Prev row non classé par identifiant

  SELECT *,
         'next'
    FROM table
   WHERE `name` > 'BBB'
ORDER BY `name`
   LIMIT 1

UNION

  SELECT *,
         'previous'
    FROM table
   WHERE `name` < 'BBB'
ORDER BY `name` DESC
   LIMIT 1

Si vous ne connaissez pas BBB particulier name valeur du champ - vous pouvez la remplacer par une sous-requête telle que SELECT name FROM table WHERE id = 42 , où 42 est l'ID connu valeur.