Select the Latest Message Between the communication of two user in mysql

后端 未结 6 1868
旧时难觅i
旧时难觅i 2020-12-17 03:33

I have a simple table maintaining messages between users. The table structure looks like

     sender    receiver   message   sendtime
      1          2              


        
6条回答
  •  春和景丽
    2020-12-17 03:44

    To me it feels simpler to use an own ID based on the sender and receiver. No JOIN and just one GROUP BY needed:

    SELECT sender, receiver, message, MAX(time)
    FROM (
      SELECT *,
        CASE WHEN sender < receiver 
                  THEN CONCAT(sender,'&', receiver)
                  ELSE CONCAT(receiver,'&', sender) END AS fromto
      FROM data) AS a
    GROUP BY fromto
    

提交回复
热议问题