sql >> Databasteknik >  >> RDS >> Mysql

Välj distinkta värden baserat på en kolumn med maximalt datumvärde från den andra kolumnen

Du måste skapa en underfråga som returnerar det maximala meddelande-id av sender_id för en given mottagare och koppla den till meddelandetabellen för att få alla andra fält:

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. Synkronisera offline SQLite databas med online MySQL databas

  2. Hur parametriserar jag en nollsträng med DBNull.Value tydligt och snabbt

  3. MySQL - Hämta radvärden från olika tabeller beroende på radens värde i en tabell

  4. Java Exception Error - Sqlite readyStatement.setBlob