sql >> Databasteknik >  >> RDS >> Mysql

välj det sista konversationsmeddelandet för varje konversation i mysql

Kolla in det här:

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

det här är länken



  1. Hur man skapar en PostgreSQL-databas

  2. Ta bort dubbletter av rader i en tabell

  3. Hur fungerar COPY och varför är det så mycket snabbare än INSERT?

  4. Oracle DB - Ställ in ingångsnummer till exakt längd