Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Abfrage nach der neuesten Nachricht in jeder Konversation mit jedem anderen Benutzer

Probieren Sie diesen einfachen und einfachen aus, er findet auch die Benutzer jeder Gruppe. Schauen Sie sich meinen Code an:-

select m.* ,u.*
    from
      messages m
      inner join (
            select max(id) as maxid
            from messages
            where messages.fromUser = "$myUsreId"
            OR messages.forUser = "$myUsreId"             
            group By (if(fromUser > forUser,  fromUser, forUser)), 
            (if(fromUser > forUser,  forUser, fromUser))
           ) t1 on m.id=t1.maxid 
      join 
      users u  ON u.id = (CASE WHEN m.fromUser = "$myUsreId"
                             THEN m.forUser
                             ELSE m.fromUser        
                         END)