sql >> Databasteknik >  >> RDS >> Mysql

Fråga efter det senaste meddelandet i varje konversation med alla andra användare

Prova denna enkla och lätta, den kommer också att hitta användarna av varje grupp. Titta på min kod:-

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)


  1. Hur Coalesce() fungerar i SQLite

  2. Apache underordnad process avslutades med status 255

  3. Kan vi uppdatera primärnyckelvärden för en tabell?

  4. Serienummer per grupp av rader för sammansatt nyckel