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

ある列で順序付けられ、別の列で区別される行を選択する

    非常に明確な質問です:)

    SELECT t1.* FROM purchases t1
    LEFT JOIN purchases t2
    ON t1.address_id = t2.address_id AND t1.purchased_at < t2.purchased_at
    WHERE t2.purchased_at IS NULL
    ORDER BY t1.purchased_at DESC
    

    そしておそらくより速いアプローチ:

    SELECT t1.* FROM purchases t1
    JOIN (
        SELECT address_id, max(purchased_at) max_purchased_at
        FROM purchases
        GROUP BY address_id
    ) t2
    ON t1.address_id = t2.address_id AND t1.purchased_at = t2.max_purchased_at
    ORDER BY t1.purchased_at DESC
    


    1. PHPのstrip_tagsに相当するMySQLクエリとは何ですか?

    2. 変数としてのテーブル名

    3. JasperReportsを使用してOracleのblob列から画像を表示するにはどうすればよいですか?

    4. TimescaleDBのパフォーマンス監視