sql >> データベース >  >> RDS >> Mysql

他のすべてのユーザーとの各会話で最新のメッセージを照会する

    このシンプルで簡単なものを試してみてください。各グループのユーザーも見つかります。私のコードを見てください:-

    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. 日付/時刻からSQLServerの文字列の例へのCONVERT()

    2. PHP PDOの説明が必要です....!

    3. SQLite集計関数

    4. 副選択するか、副選択しないか?