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

2番目の列から最大の日付値を持つ列に基づいて個別の値を選択します

    特定の受信者のsender_idによって最大メッセージIDを返すサブクエリを作成し、それをメッセージテーブルに結合して、他のすべてのフィールドを取得する必要があります。

    SELECT m.* 
    FROM  `message` AS m
    INNER JOIN (SELECT sender_id, MAX(message_date) as md
                    FROM message WHERE  `receiver_id` =1 GROUP BY sender_id) AS t
    ON m.message_date=t.md and m.sender_id=t.sender_id
    WHERE  `receiver_id` =1
    


    1. SQLiteで数値にパーセント記号を追加する2つの方法

    2. Oracle Database 11gのHibernate方言?

    3. PostgreSQLで数値をフォーマットする方法

    4. org.hibernate.AssertionFailure:エントリのnull ID(例外が発生した後にセッションをフラッシュしないでください)