sql >> Database >  >> RDS >> Mysql

selecteer het laatste bericht van het gesprek voor elk gesprek in mysql

Bekijk dit eens:

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

dit is de link



  1. SQL Server - index op een berekende kolom?

  2. Witruimtetekens verwijderen uit een tekenreeks in SQL Server

  3. MySQL UUID primaire sleutel - gegenereerd door PHP of door MySQL?

  4. gem install:kan de native extensie van gem niet bouwen (kan header-bestanden niet vinden)