1

'?DATE1::?'ユーザーが日付範囲を入力するための単なるプレフィックスであることを無視してください。

Select
       STARTDATEKEY 
       round(avg(Minutes),2) as Time  /*average for 1 day */
from   Table
where To_Date(to_char(StartDate, 'DD-MON-YYYY')) >= To_Date('?DATE1::?','MM/DD/YYYY')
and To_Date(to_char(RESTOREDDATETIME, 'DD-MON-YYYY')) <= To_Date('?DATE2::?','MM/DD/YYYY')
and FLAG = 0
group by STARTDATEKEY 

アウトになります
ここに画像の説明を入力

20130110 52.67の下部にある Time 列の平均を表示するのに助けが必要です

編集者/査読者へのメモ: Oracle と SQL のどちらにタグ付けするべきかわかりません。

4

1 に答える 1

4

ROLLUPグループ化機能を使用できます。
次のようになります。

Select
       STARTDATEKEY 
       round(avg(Minutes),2) as Time  /*average for 1 day */
from   Table
where To_Date(to_char(StartDate, 'DD-MON-YYYY')) >= To_Date('?DATE1::?','MM/DD/YYYY')
and To_Date(to_char(RESTOREDDATETIME, 'DD-MON-YYYY')) <= To_Date('?DATE2::?','MM/DD/YYYY')
and FLAG = 0
group by ROLLUP(STARTDATEKEY)

これが簡略化されたsqlfiddleデモです

于 2013-01-23T20:14:22.707 に答える