-1

datastartとを含むテーブルがありますEnd。列の開始と終了には、日付と時刻が次の形式で含まれます: 2012-04-06 07:43:05 。私はこれを行う必要があります: 終了 - 開始 (明らかに各行に対して) し、結果のすべての時間を合計します。[日付はおそらく開始と終了の両方で同じであるため、時間フィールドの減算のみで十分です]

これを行う簡単な方法はありますか?

4

3 に答える 3

1

私はおそらく、MySQL で UNIX_TIMESTAMP() を使用して日付を UNIX タイムスタンプに変換することでこれにアプローチします。そうすれば、必要な計算を簡単に行うことができます。

何かのようなもの:

SELECT
   SUM(UNIX_TIMESTAMP(`End`) - UNIX_TIMESTAMP(`start`)) AS time_sum
FROM
   data

これにより、すべての差の合計が秒単位で取得されます。

于 2012-07-11T18:54:18.480 に答える
0
select sum(timediff(`start`, `end`)) as diff_sum
from your_table
于 2012-07-11T18:52:02.257 に答える
0

datediff を使用して日を取得するか、timediff を使用して「01:23:45」のような時間を取得するか、秒数を返す私のお気に入りの UNIX タイムスタンプを使用できます。

UNIX_TIMESTAMP(end) - UNIX_TIMESTAMP(start) AS sec
于 2012-07-11T18:52:18.853 に答える