1

MySQL で関係する日ごとにグループ化された 2 つのタイムスタンプの TIMEDIFF を取得する方法を探しています。

SELECT TIMEDIFF('2012-01-02 10:00:00', '2012-01-01 10:00:00');

これは 24 時間の差を示しているだけです。

両方(またはそれ以上)の差分が必要です。すなわち:

2012-01-01: 14:00:00
2012-01-02: 10:00:00
[...]

TIMEDIFF 関数でグループ化する方法はありますか?

4

1 に答える 1

1

やりたいことをするためには、一連の数字を生成する必要があります。おそらくあなたはテーブルを持っています。そうでない場合は、次のようなものです。

select dstart + interval n.num days
from (select d1*10+d2 as num
      from (select 0 as d union all select 1 union all select 2 union all
            select 3 union all select 4 union all select 5 union all select 6 union all
            select 7 union all select 8 union all select 9
           ) d1 cross join
           (select 0 as d union all select 1 union all select 2 union all
            select 3 union all select 4 union all select 5 union all select 6 union all
            select 7 union all select 8 union all select 9
           ) d2
      ) n join
      (select date('2012-01-02') as dend, date('2012-01-01') dstart
      on dstart + interval n.num days <= dend

(これはテストされていないため、構文エラーがある可能性があります。)

于 2013-01-24T03:09:06.807 に答える