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

Vælg distinkte værdier baseret på en kolonne med maksimal datoværdi fra anden kolonne

Du skal oprette en underforespørgsel, der returnerer det maksimale meddelelses-id af sender_id for en given modtager og slutte den til meddelelsestabellen for at få alle andre felter:

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. Hvordan COS() virker i MariaDB

  2. SUM(DISTINCT) Baseret på andre kolonner

  3. Sådan formateres et tal som valuta i Oracle

  4. Hvad er PDO-ækvivalenten til funktionen mysql_real_escape_string?