Если вы используете photo_id == 3
и знаете, что оно принадлежит user_id == 1
, тогда:
«предыдущий» photo_id
для этого пользователя:
SELECT `photo_id`
FROM `photos`
WHERE `photo_id` < 3 AND `user_id` = 1
ORDER BY `photo_id` DESC
LIMIT 1
и «следующий» photo_id
для этого пользователя:
SELECT `photo_id`
FROM `photos`
WHERE `photo_id` > 3 AND `user_id` = 1
ORDER BY `photo_id` ASC
LIMIT 1
Для получения бонусного балла вы можете сделать это более эффективным с помощью индекса:
CREATE INDEX `idx_user_photo`
ON `photos`
(`user_id`, `photo_id`)