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

Mysql wybierz ostatni wiersz dla każdej grupy

Po pierwsze, nie należy zmieniać nazwy kolumny w pojedynczy cudzysłów, ponieważ nie jest to literał ciągu.
Po drugie, możesz wykonać podzapytanie, które osobno pobiera ostatni czas dla każdego c_id i połącz go z powrotem z oryginalną tabelą, aby uzyskać inne kolumny.

SELECT  a.*
FROM    message a
        INNER JOIN
        (
            SELECT  c_id, MAX(time) time
            FROM    message
            GROUP   BY c_id
        ) b ON a.c_id = b.c_id AND
                a.time = b.time

lub

SELECT  a.*
FROM    message a
WHERE   a.time =
        (
            SELECT  MAX(time) time
            FROM    message b
            WHERE   a.c_id = b.c_id
        ) 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie można połączyć się z mysql z Visual Studio 2015

  2. MySQL:Unikalne ograniczenie na wielu polach

  3. Otwarta baza danych QSqlDatabase zawsze zwraca prawdę po aktualizacji

  4. MariaDB nie może się uruchomić po aktualizacji:[Ostrzeżenie] Nie można utworzyć pliku testowego /home/mysql/beta.lower-test

  5. Jak obliczyć procent kolumny w MySQL?