- PR -

直近最大値の取得方法で、MAX関数。

投稿者投稿内容
明智重蔵
大ベテラン
会議室デビュー日: 2005/09/05
投稿数: 127
投稿日時: 2009-02-17 21:50
>条件:
>現在時刻から過去5分前の間での最大値とその時刻を取得する。
>但し同一値があった場合は、現在時刻に近い値(直近値)を 採用する。

Keepを使えばいいでしょう

コード:
SELECT
    MAX(Value),
    max(time) Keep(Dense_Rank Last order by Value)
FROM TBL_NEDAN
WHERE TIME BETWEEN 5分前時刻 AND 現在時刻



下記でもOK
コード:
select VALUE,TIME
from (SELECT VALUE,TIME,
      Row_Number() over(order by VALUE DESC, TIME DESC) as rn
      FROM TBL_NEDAN
      WHERE
          TIME BETWEEN 5分前時刻 AND 現在時刻)
 where rn=1;


スキルアップ/キャリアアップ(JOB@IT)