Kunne sandsynligvis bare bruge en UNION og derefter trimme de ekstra resultater af i den proceduremæssige kode, der viser resultaterne (da dette vil returnere 20 rækker i tilfælde uden kant):
(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:Øget grænse til 10 på begge sider af UNION, som foreslået af le dorfier .
EDIT 2:Ændret for bedre at afspejle den endelige implementering, som foreslået af Dominic.