Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak uzyskać najnowszy rekord w każdej grupie za pomocą GROUP BY?

Powinieneś znaleźć ostatni timestamp wartości w każdej grupie (podzapytanie), a następnie dołącz to podzapytanie do tabeli -

SELECT t1.* FROM messages t1
  JOIN (SELECT from_id, MAX(timestamp) timestamp FROM messages GROUP BY from_id) t2
    ON t1.from_id = t2.from_id AND t1.timestamp = t2.timestamp;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wykonać UPSERT, abym mógł używać zarówno nowych, jak i starych wartości w części dotyczącej aktualizacji?

  2. Najlepszy sposób na sprawdzenie, czy mysql_query zwrócił jakieś wyniki?

  3. JSON_EXTRACT() – Zwróć dane z dokumentu JSON w MySQL

  4. Znajdź i zamień tekst w całej tabeli za pomocą zapytania MySQL

  5. PHP i mySQL:Rok 2038 Błąd:Co to jest? Jak to rozwiązać?