1

次のような DATE 型の列を持つ単純なテーブルがある場合:

開始日
2013/06/02 05:30:00 午前
2013/06/05 12:00:00 午後
2013/06/10 01:45:00 午前

次のような次の START_DATE までの時間を取得することは可能ですか:

START_DATE HOURS_TO_NEXT_START
2013/06/02 05:30:00 AM 78.5
2013/06/05 12:00:00 午後 109.75
2013/06/10 01:45:00 午前 0

この結果も OK であることに注意してください。

START_DATE HOURS_FROM_PREVIOUS_START
2013/06/02 05:30:00 午前 0
2013/06/05 12:00:00 午後 78.5
2013/06/10 01:45:00 午前 109.75

結局のところ、時間数は私が本当に興味を持っているものなので...

次の開始日までの時間差を確認するために、このリストを再帰的に走査することに CONNECT BY が関与していることは確かですが、実際にこれを行うには助けが必要だと思います。CONNECT BY で見たすべての例は、同時リストのトラバースに対処しているようです。

4

2 に答える 2

0

IDで計算をグループ化するための答えを見つけたと思います

以下を追加するだけです

select start_date,
   (lead(start_date,1) over (*PARTITION BY ID* order by start_date)-start_date)*24 
        as hours_to_next_start
from myTable

再度、感謝します

于 2014-03-20T17:25:39.653 に答える