0

分析を行う必要のあるログエントリのセットがたくさんあります。私がやりたいのは、ログのセットごとに、開始エントリと完全なエントリの間の時間差を選択することです。どうすればこれを行うことができますか?

Sample Log Set:

ExecuteTime, Entry, TrackKey
7.2408730984, Start update, 487996b0608b0006bfbe5501217c76bde879b728
9.9038851261, Complete update, 487996b0608b0006bfbe5501217c76bde879b728
4

2 に答える 2

1

開始時間が最小で終了時間が最大だと思います。そうでない場合、このクエリは間違っています

select TrackKey, (MAX(ExecuteTime) - MIN(ExecuteTime)) as time_difference
FROM table
WHERE Entry IN('Start update', 'Complete update')
GROUP BY TrackKey
于 2012-04-13T16:16:58.453 に答える
0

未テスト:

SELECT * FROM Table AS t1 LEFT JOIN (SELECT MIN(Sample) AS Min, MAX(Sample) AS Max FROM Table) AS t2 ON t1.TrackKey = t2.TrackKey

更新しました :

SELECT
    (t3.End - t2.Start) AS Total
FROM Table AS t1
    LEFT JOIN
    (
        SELECT
            Sample AS Start
        FROM
            Table
        WHERE
            Entry = "Start update"
    ) AS t2 ON t1.TrackKey = t2.TrackKey
LEFT JOIN
    (
        SELECT
            Sample AS End
        FROM
            Table
        WHERE
            Entry = "Complete update"
    ) AS t3 ON t1.TrackKey = t3.TrackKey
于 2012-04-13T16:15:45.837 に答える