sql >> Databáze >  >> RDS >> Mysql

Dotaz na nejnovější zprávu v každé konverzaci se všemi ostatními uživateli

Zkuste tento jednoduchý a snadný, najde také uživatele každé skupiny. Podívejte se na můj kód:-

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. Opakovat výsledky PDO PHP

  2. generovat prázdné řádky, i když jsou prázdné mezi 2 daty

  3. Dotaz MySQL, kde JOIN závisí na CASE

  4. Jak vložit výstup json do mysql s node js