Musíte si objednat výsledky a nastavit limit.
Za předpokladu, že datum a čas je to, co jste chtěli objednat:
$query = "
SELECT
lat,
lng,
DATE_FORMAT(datetime,'%W %M %D, %Y %T') AS datetime
FROM markers1 WHERE 1
ORDER BY datetime DESC
LIMIT 5
";
UPRAVIT: Odpověď na komentář OP:"výsledek, který dostanu, je začátek pro řádek 50 pro první dotaz a následuje 49,48,47,46 Je to možné, že mohu tento začátek získat z řádku 46,47,48,49,50?"
Můžete to udělat buď s výsledkem v PHP, načtením řádků a jejich uložením do pole a obrácením pole. Nevěřím, že můžete efektivně procházet zdroj výsledků mysql obráceně.
Chcete-li to provést v dotazu SQL, musíte vytvořit dočasnou tabulku s původním dotazem:
$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
";
Výsledek počátečního dotazu se použije jako tabulka pro hledání v novém dotazu, který se řadí podle data a času vzestupně. Na vnější dotaz jsem musel použít DATE_FORMAT, protože k opětovnému objednání potřebujeme pole datetime.