こんにちは私は計算し、現在の行から次の行にdatetime列の間に費やされた時間を表示したいと思います。現在の行から次の行にdatetimeからタイムペインを取得するmysql
現在のテーブル:
task_id | task | date | user_id
1 | Task 1 | 2017-04-30 08:30:23 | 35
2 | Task 2 | 2017-04-30 09:30:23 | 35
3 | Task 3 | 2017-04-30 10:00:23 | 35
期待される結果:
task_id | task | date | timespent
1 | Task 1 | 2017-04-30 08:30:23 | 60
2 | Task 2 | 2017-04-30 09:30:23 | 30
3 | Task 3 | 2017-04-30 10:00:23 | (compute it by current time)
私はこのようなクエリを持っているが、それは私の期待される結果
SELECT A.task_id, A.date,A.task,A.user_id,
TIMESTAMPDIFF(MINUTE,A.date,B.date) AS timespent
FROM tbl_task A CROSS JOIN tbl_task B
WHERE B.task_id IN (SELECT MIN(C.task_id)
FROM tbl_task C
WHERE C.task_id > A.task_id)
AND A.user_id = 35
AND Month(A.date) = 5
ORDER BY A.task_id ASC
上記の問題を得ることができないようですクエリは、最後の行を取得できないか、行が単なるレコードであるかどうかを調べます。私は、現在の時刻now()で最後のレコードまたは単一レコードのタイムペントを計算したいと思います。 助けてくれてありがとう。
サンプル・データを生成するために、ソース・テーブルのスキーマをサンプル・データとともに表示してください。 –
LEFT JOINを使用して最後の行を保持します。 –
@SloanThrasherは現在のスキーマと予想される結果を追加します – Cris