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

Hvordan får man den seneste rekord i hver gruppe ved hjælp af GROUP BY?

Du bør finde ud af sidste timestamp værdier i hver gruppe (underforespørgsel), og føj derefter denne underforespørgsel til tabellen -

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. MariaDB RTRIM() vs RTRIM_ORACLE():Hvad er forskellen?

  2. Laravel 5 PDOException kunne ikke finde driver

  3. Opdel værdier over flere rækker

  4. SQL Server's Equivalent to Sleep():WAITFOR-erklæringen