Waarschijnlijk zou je gewoon een UNION kunnen gebruiken en dan de extra resultaten in de procedurele code die de resultaten weergeeft wegknippen (omdat dit 20 rijen oplevert in de niet-randgevallen):
(SELECT
*
FROM photos
WHERE ID < #current_id#
ORDER BY ID DESC LIMIT 10)
UNION
(SELECT *
FROM photos
WHERE ID >= #current_id#
ORDER BY ID ASC LIMIT 10)
ORDER BY ID ASC
EDIT:Verhoogde limiet tot 10 aan beide zijden van de UNIE, zoals voorgesteld door le dorfier .
EDIT 2:Aangepast om de uiteindelijke implementatie beter weer te geven, zoals voorgesteld door Dominic.