sql >> Databáze >  >> RDS >> Mysql

Vyberte odlišné hodnoty na základě sloupce s maximální hodnotou data z druhého sloupce

Musíte vytvořit poddotaz, který vrátí maximální id zprávy podle sender_id pro daného příjemce a připojit jej k tabulce zpráv, abyste získali všechna ostatní pole:

SELECT m.* 
FROM  `message` AS m
INNER JOIN (SELECT sender_id, MAX(message_date) as md
                FROM message WHERE  `receiver_id` =1 GROUP BY sender_id) AS t
ON m.message_date=t.md and m.sender_id=t.sender_id
WHERE  `receiver_id` =1


  1. Jak funguje pg_sleep() v PostgreSQL

  2. Případ Cardinality Odhad Red Herring

  3. PHP While loop zobrazuje pouze poslední řádek

  4. Příklady SIN() v SQL Server