sql >> Database teknologi >  >> RDS >> Mysql

Mysql vælg sidste række for hver gruppe

For det første bør du ikke undslippe kolonnenavnet med et enkelt anførselstegn, da det ikke er strengt bogstaveligt.
For det andet kan du lave underforespørgsler, som separat får den seneste tid for hver c_id og sæt den sammen med den oprindelige tabel for at få de andre kolonner.

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

eller

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


  1. MySQL trigger sæt værdier for NY række og opdatere en anden i samme tabel

  2. PHP MySQL-forespørgsel, der indeholder søgeord/reserverede ord

  3. Indsæt Backbone.js-modellen i MySQL-databasen

  4. Karakterer med accent i mySQL-tabel