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

最終日に基づいてレコードを選択します

    PostgreSQLでは、定義された列のセットに対して一意の行を取得する 、推奨される手法は通常、 DISTINCT ON

    SELECT DISTINCT ON ("ID") *
    FROM   "Course"
    ORDER  BY "ID", "Course Date" DESC NULLS LAST, "Course Name";
    

    正確に1行 IDごと このように-最新の既知の"Course Date"を持つもの 最初の"Course Name" (ソート順による)日付が同点の場合。

    NULLS LASTを削除できます 列が定義されている場合NOT NULL

    ("ID", "Course Name")ごとに一意の行を取得するには :

    SELECT DISTINCT ON ("ID", "Course Name") *
    FROM   "Course"
    ORDER  BY "ID", "Course Name", "Course Date" DESC NULLS LAST;
    

    この関連する回答の詳細:



    1. PostgreSQL UNLOGGED機能を既存のテーブルに適用するにはどうすればよいですか?

    2. MySQLが間違ったインデックスを使用するのはなぜですか?

    3. 長いPHPスクリプトを実行しているときにメモリをクリアするにはどうすればよいですか? unset()を試しました

    4. mysqlは2つの結果を一緒に貼り付けます(並べて)