Mysql
 sql >> Baza danych >  >> RDS >> Mysql

wybierz ostatnią wiadomość rozmowy dla każdej rozmowy w mysql

Sprawdź to:

SELECT *
  FROM messages_status mst
       INNER JOIN (SELECT messages.* FROM messages INNER JOIN (
                    SELECT sender_ID,conv_id,MAX(created_at) as maxtime FROM messages
                    GROUP BY sender_ID,conv_id) as t1 ON
                    t1.sender_id = messages.sender_id AND t1.conv_id = messages.conv_id AND 
                    t1.maxtime = messages.created_at) msg 
                    ON mst.msg_id=msg.id
WHERE mst.user_id = 1 AND mst.status NOT IN (0,3)
ORDER BY msg.created_at DESC

to jest link



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jak połączyć wartość z innej tabeli za pomocą tej samej wartości warunku

  2. MySQL:Ustaw zmienną użytkownika z wyniku zapytania

  3. Zwróć obiekt JSON za pomocą PHP json_encode() i MySQL, aby przejść do funkcji jQuery

  4. Zapytania MySQL IN są strasznie wolne z podzapytaniem, ale szybkie z określonymi wartościami

  5. Funkcja rankingowa w MySQL