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

テーブルの最後と最後から2番目のエントリの値を比較するにはどうすればよいですか?

    SELECT  *, value - nextvalue AS diff
    FROM    (
            SELECT  m.*, LEAD(value) OVER (ORDER BY date DESC) AS nextvalue
            FROM    mytable m
            ORDER BY
                    date DESC
            )
    WHERE   rownum = 1
    

    更新:

    会社ごとに結果を選択するには:

    SELECT  value - nextvalue AS diff
    FROM    (
            SELECT  m.*,
                    LEAD(value) OVER (PARTITION BY companyId ORDER BY date DESC) AS nextvalue,
                    ROW_NUMBER() OVER (PARTITION BY companyId ORDER BY date DESC) AS rn
            FROM    mytable m
            )
    WHERE   rn = 1
    



    1. future(!)の日付をデータベースに保存する方法

    2. GET_FILE_NAMEOracleFormsでダイアログボックスが開かない

    3. PostgreSQLに最適な環境をセットアップする

    4. Postgresの合計を使用した再帰クエリ