Du måste beställa resultaten och sätta en gräns.
Förutsatt att datetime är vad du ville beställa på:
$query = "
SELECT
lat,
lng,
DATE_FORMAT(datetime,'%W %M %D, %Y %T') AS datetime
FROM markers1 WHERE 1
ORDER BY datetime DESC
LIMIT 5
";
EDIT: För att svara på OP:s kommentar:"resultatet som jag får är start för rad 50 för första frågan och den följs av 49,48,47,46. Är det möjligt att jag kan få denna start från rad 46,47,48,49,50?"
Du kan antingen göra detta med resultatet i PHP, genom att hämta raderna och lagra dem i en array och vända arrayen. Jag tror inte att du effektivt kan gå igenom en resurs för mysql-resultat omvänt.
För att göra detta i SQL-frågan måste du skapa en tillfällig tabell med den ursprungliga frågan:
$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
";
Resultatet av den initiala frågan används som tabell för att söka i en ny fråga, som sorterar efter datum och tid stigande. Jag var tvungen att använda DATE_FORMAT på den yttre frågan eftersom vi behöver fältet datetime för att beställa efter igen.