0

タイムスタンプ (dd.mm.yyyy hh24:mi:ss) とミリ秒単位の期間を含む tbl を取得しました

これらの期間を時間単位で集計するにはどうすればよいですか? 1 時間あたりの AVG ミリ秒を教えてくれるはずです。

サンプル:

Timestamp              Duration
10.10.2010 12:30:20    200
10.10.2010 12:59:10    400

出力:

Timestamp              Duration
10.10.2010 12:00:00    300
4

2 に答える 2

1

次のようなことを試してください:

SELECT TO_CHAR("Date", 'HH24'), AVG("Duration") FROM "Table" GROUP BY TO_CHAR("Date", 'HH24')
于 2013-11-08T10:20:54.710 に答える
1

ROUND と AVG を探している

WITH DATASET
    AS (SELECT TO_TIMESTAMP_TZ ( '11/8/2013 1:16:22', 'MM/DD/YYYY HH24:MI:SS' ) AS TS,
               200 AS DURATION
        FROM DUAL
        UNION ALL
        SELECT TO_TIMESTAMP_TZ ( '11/8/2013 1:16:22', 'MM/DD/YYYY HH24:MI:SS' ) AS TS,
               100 AS DURATION
        FROM DUAL
        UNION ALL
        SELECT TO_TIMESTAMP_TZ ( '11/8/2013 2:16:22', 'MM/DD/YYYY HH24:MI:SS' ) AS TS,
               300 AS DURATION
        FROM DUAL
        UNION ALL
        SELECT TO_TIMESTAMP_TZ ( '11/8/2013 3:16:22', 'MM/DD/YYYY HH24:MI:SS' ) AS TS,
               500 AS DURATION
        FROM DUAL
        UNION ALL
        SELECT TO_TIMESTAMP_TZ ( '11/8/2013 4:16:22', 'MM/DD/YYYY HH24:MI:SS' ) AS TS,
               600 AS DURATION
        FROM DUAL
        UNION ALL
        SELECT TO_TIMESTAMP_TZ ( '11/8/2013 4:16:22', 'MM/DD/YYYY HH24:MI:SS' ) AS TS,
               700 AS DURATION
        FROM DUAL)
SELECT ROUND ( TS, 'Hh24' ) AS TIMESTAMP_VAL,
       AVG ( DURATION ) AS DURATION
FROM
      DATASET
GROUP BY
      ROUND ( TS, 'Hh24' )
ORDER BY
      TIMESTAMP_VAL;

注: extract(hour from systimestamp) は、タイム ゾーン オフセットを減算します。

于 2013-11-08T11:32:12.653 に答える