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

Oracleの最後の行をテーブルに取得する方法

    Oracleテーブルには順序の概念がないため、テーブルの「最後の」行などはありません。

    ただし、最後に挿入された主キーおよびを検索したいとします。 この主キーが増分番号である場合は、次のようにすることができます:

    select *
      from ( select a.*, max(pk) over () as max_pk
               from my_table a
                    )
     where pk = max_pk
    

    各行が作成された日付がある場合、列の名前がcreatedの場合、これは次のようになります。 :

    select *
      from ( select a.*, max(created) over () as max_created
               from my_table a
                    )
     where created = max_created
    

    または、次のような集計クエリを使用することもできます。

    select *
      from my_table
     where pk = ( select max(pk) from my_table )
    

    これがデモンストレーションする小さなSQLフィドルです。



    1. intからのキャスト/変換がアスタリスクを返す理由

    2. LinuxでのPostgreSQLデータベースのデフォルトの場所

    3. ExcelスプレッドシートまたはCVSからMySQLにデータをインポートする

    4. SQLServerでのテーブル変数のパフォーマンス