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

1つのテーブルに同じIDが複数ある場合は、1つのIDで注文する

    最新が必要です 各一意のに投稿する スレッド、私たちはそれを行うことができます...

    GROUP BYの使用 およびHAVING

    SELECT * 
    FROM Posts
    JOIN Discussions
        on Discussions.discussion_id = Posts.discussion_id
    GROUP BY Discussions.discussion_id
    HAVING Posts.post_time = max(Posts.post_time)
    ORDER BY Posts.post_time DESC
    

    これはです !あなたがあなた自身を修正するためにそれを使うことを確認してください、しかしそれは非常に簡単です。これをテストするためのデータベースはありませんが、自分のデータとさまざまな列でテストされ、機能しました。

    注: これは、各IDが両方のテーブルで同一であることを前提としています。また、post_timeは、投稿が新しいほど増加する時間値(つまり、SQLタイムスタンプ)であると想定しています。




    1. SQLServerで「サーバーがデータアクセス用に構成されていない」を修正する方法

    2. 重い結合を使用したMySQLクエリの最適化

    3. Microsoft SQL Server2012のクエリがJDBC4.0で数分かかるのに、Management Studioでは1秒かかるのはなぜですか?

    4. ORA-00918:SELECTであいまいに定義された列*