Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zapytanie o najnowszą wiadomość w każdej rozmowie z każdym innym użytkownikiem

Wypróbuj ten prosty i łatwy sposób, dzięki któremu znajdziesz również użytkowników z każdej grupy Spójrz na mój 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Obejście błędu MySQL Wykryto zakleszczenie podczas próby uzyskania blokady; spróbuj zrestartować transakcję

  2. Wybierz bez opcji FROM, ale z więcej niż jednym rzędem

  3. Jaka jest korzyść z zerofill w MySQL?

  4. Wstawianie wielowymiarowej tablicy php do bazy danych mysql

  5. Grupowanie MySQL PHP według dnia i suma dla każdego dnia