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

Oracle ORDER BYとROWNUMを正しく使用するにはどうすればよいですか?

    where ステートメントはに実行されます order by 。したがって、目的のクエリは、「最初の行を取得してから並べ替える」というものです。 t_stamp 説明 "。そしてそれはあなたが意図していることではありません。

    サブクエリメソッドは、Oracleでこれを行うための適切なメソッドです。

    両方のサーバーで機能するバージョンが必要な場合は、次を使用できます。

    select ril.*
    from (select ril.*, row_number() over (order by t_stamp desc) as seqnum
          from raceway_input_labo ril
         ) ril
    where seqnum = 1
    

    外側の* 最後の列に「1」を返します。これを回避するには、列を個別にリストする必要があります。



    1. 「エラー1054(42S22):MariaDBの「orderclause」の不明な列「colname」」を修正しました

    2. SQLOPSを使用してSQLServerデータベースを作成する

    3. SQLiteでチェック制約を有効/無効にする方法

    4. SQLServerのID列の増分値を返します