phpMyAdmin
 sql >> Baza danych >  >> Database Tools >> phpMyAdmin

jak wybrać 5 ostatnich wierszy z mysql

Musisz uporządkować wyniki i ustawić limit.

Zakładając, że data i godzina jest tym, co chciałeś zamówić:

$query = "
    SELECT 
        lat, 
        lng, 
        DATE_FORMAT(datetime,'%W %M %D, %Y %T') AS datetime 
    FROM markers1 WHERE 1
    ORDER BY datetime DESC
    LIMIT 5
";

EDYTUJ: Aby odpowiedzieć na komentarz OP:„wynik, który otrzymuję, to początek wiersza 50 dla pierwszego zapytania, a następnie 49,48,47,46 Czy to możliwe, że mogę uzyskać ten początek z wiersza 46,47,48,49,50?”

Możesz to zrobić z wynikiem w PHP, pobierając wiersze i przechowując je w tablicy oraz odwracając tablicę. Nie wierzę, że można wydajnie zapętlić zasób wyników mysql w odwrotnej kolejności.

Aby to zrobić w zapytaniu SQL, musisz utworzyć tabelę tymczasową z oryginalnym zapytaniem:

$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
";

Wynik początkowego zapytania jest używany jako tabela do wyszukiwania w nowym zapytaniu, uporządkowanym rosnąco według daty i godziny. Musiałem zastosować DATE_FORMAT w zewnętrznym zapytaniu, ponieważ potrzebujemy pola daty i godziny, aby zamówić ponownie.



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Włączanie harmonogramu zdarzeń mysql po ponownym uruchomieniu serwera

  2. Tworzenie/edycja dynamicznej strony php

  3. eksportowanie struktury tabeli do plików Excela za pomocą phpmyadmin

  4. Zapoznanie się z bazami danych w phpMyAdmin

  5. Funkcja wyszukiwania nie działa w php