Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Truy vấn tin nhắn mới nhất trong mỗi cuộc trò chuyện với mọi người dùng khác

Hãy thử cách đơn giản và dễ dàng này, nó cũng sẽ tìm thấy những người dùng của mỗi nhóm. Hãy nhìn vào mã của tôi:-

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. truy vấn chậm mysql

  2. Một ràng buộc để ngăn chặn việc chèn một chuỗi trống trong MySQL

  3. Kết quả nhóm MySQL theo khoảng thời gian

  4. Khóa chính của cơ sở dữ liệu phải là số nguyên?

  5. Truy vấn chậm MySQL - Đang chờ khóa bộ nhớ cache truy vấn