を動作するように経過クエリで経過時間を取得する手助けが必要です。一般的に私は、コンピュータが新しいOSにアップグレードするのにかかる時間を取得したい、マイナスそれとの間の時間の任意の期間は、障害によって引き起こされます。テーブルのは、私が動作するようにクエリを取得し、私は悩み、それを概念を持っています助けが必要
例は次のようになります。
timestamp - status
2016-07-19 14:25:59.000 Conversion In Progress
2016-07-20 07:38:20.000 Failed - 04
2016-07-26 07:15:59.000 Conversion In Progress
2016-07-26 08:50:39.000 Conversion Successful
あなたはそれが再びキックオフされたときに、変換が最初に失敗したときから大きなギャップがあることがわかります。私は報告の目的のためにこの期間を追加することを避けたい。私が今使っ
私のクエリはこれです:ログで
SELECT ROUND(AVG((b.ts - a.ts)/60), 0)
FROM
(
SELECT mach_name, timestamp, UNIX_TIMESTAMP(timestamp)as ts FROM w10_migration_log where status = 'Conversion In Progress'
)a INNER JOIN
(
SELECT mach_name, timestamp, UNIX_TIMESTAMP(timestamp)as ts FROM w10_migration_log where status = 'Conversion Successful'
) b on a.mach_name = b.mach_name
ほとんどのエントリに対処するための問題を持っていません。それは問題だろうか?
すべてのヘルプは大幅にテーブル構造をクエリのこのタイプのために適合されていないので、あなたがクエリを概念化することはできません驚くことではありません
ご返信いただきありがとうございます。あなたの投稿は理にかなって、私はテーブルを作成していないが、私はそれが変更され得ることについて見ることができるかもしれません。それにもかかわらず、ログに2つ以上のエントリがある場合はどうなりますか?私たちはいくつかのマシンで5,6回失敗しています。これはそのシナリオではうまくいかないようです。 – spas2k
@ spas2k何をして動作しませんか?私は試行ごとに1行を提案しているので、2または6または20はまったく同じに動作するはずです。 – rlanvin