sql >> Databáze >  >> Database Tools >> phpMyAdmin

jak vybrat 5 nejnovějších řádek z mého mysql

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.



  1. Změňte datový typ sloupce v celé databázi - MySQL

  2. Datum importu csv se změní na 0000-00-00

  3. Po upgradu na Mountain Lion (pomocí MAMP) nelze získat přístup k databázím MySQL

  4. Období pro sadu stejných dat