sql >> Base de Datos >  >> RDS >> Mysql

Mysql Seleccionar fila siguiente y anterior no ordenar por id

  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 no conoce BBB en particular name valor del campo:puede reemplazarlo con una subconsulta como SELECT name FROM table WHERE id = 42 , donde 42 es el ID conocido valor.