Трябва да поръчате резултатите и да зададете лимит.
Ако приемем, че дата и час е това, на което искате да поръчате:
$query = "
SELECT
lat,
lng,
DATE_FORMAT(datetime,'%W %M %D, %Y %T') AS datetime
FROM markers1 WHERE 1
ORDER BY datetime DESC
LIMIT 5
";
РЕДАКТИРАНЕ: За да отговоря на коментара на OP:"резултатът, който получавам, е начало за ред 50 за първата заявка и следва от 49,48,47,46 Възможно ли е да мога да получа това начало от ред 46,47,48,49,50?"
Можете да направите това с резултата в PHP, като извлечете редовете и ги съхраните в масив и обърнете масива. Не вярвам, че можете ефективно да преминете през ресурс за резултати на mysql в обратна посока.
За да направите това в SQL заявката, трябва да създадете временна таблица с оригиналната заявка:
$query = "
SELECT
lat,
lng,
DATE_FORMAT(datetime,'%W %M %D, %Y %T') AS datetime
FROM (
SELECT
lat,
lng,
datetime
FROM markers1 WHERE 1
ORDER BY datetime DESC
LIMIT 5
) AS tmp_markers
ORDER BY datetime ASC
";
Резултатът от първоначалната заявка се използва като таблица за търсене в нова заявка, която се подрежда по нарастваща дата и час. Трябваше да приложа DATE_FORMAT към външната заявка, защото се нуждаем от полето datetime, за да подредим отново.