0

5分間隔、つまり5 10 15 20のデータを持つテーブルがあります...

テーブルには 3 つの列 (id 番号、log_ts 日付、カウント番号) があり、何百万もの行があります。これまでのところ、以下のクエリを使用して、特定の日付の「カウント」列を合計しています。

時間単位で集計する必要がある

select id, SUM(count)
     log_ts + DECODE(TO_CHAR(log_ts , 'MI'), '05', 55/1440, '10', 50/1440, '15', 45/1440, '20',40/1440,'25',35/1440,'30',30/1440,'35',25/1440,'40',20/1440,'45',15/1440,'50',10/1440,'55',5/1440,0) TS
from example_table 
Group by id,
log_ts + DECODE(TO_CHAR(log_ts , 'MI'), '05', 55/1440, '10', 50/1440, '15', 45/1440, '20',40/1440,'25',35/1440,'30',30/1440,'35',25/1440,'40',20/1440,'45',15/1440,'50',10/1440,'55',5/1440,0)

5 分レベルのデータを持つ 1 時間ごとのレベルで時間列を集計する他の方法はありますか。

4

2 に答える 2

0

このようにしてみて、

SELECT id, trunc(log_ts, 'HH'), sum(count)
FROM   example_table
GROUP BY id, trunc(log_ts, 'HH');
于 2013-10-09T13:27:48.157 に答える