これは私のmySQLステートメントです:
SELECT DATE(x.created_at), AVG(TIMEDIFF(y.created_at, x.created_at)/60/60)
FROM
(SELECT *
FROM events a
WHERE a.created_at > '12-10-10 12:12:12'
AND a.type = 'Started') x INNER JOIN
(SELECT *
FROM events a
WHERE a.created_at > '12-10-10 12:12:12'
AND a.type = 'Complete') y ON x.target_id = y.target_id
GROUP BY DATE(x.created_at)
ORDER BY DATE(x.created_at)
理想的には、すべての日付の実行中の中央値を取得しようとしています。これが各日付の場合であるため、列間の時差を選択し、created_at
その日付のすべての値の間のTIMEDIFFの中央値を見つけます。以下同様に、対応するがあれば、各日付まで続きcomplete
ます。
短い目標として、上記のコードブロックは「平均化」(中央値がわからないため)であり、各日付の最後の戻り値であり、その日付に該当するものすべてではありません。
ヒント、ヒント、答えはありますか?