1

一連のレコードをログに挿入しています。各シリーズはIDで識別されます。それで

SELECT * FROM log WHERE action_id = x ORDER by created;

しかし、最初のレコードを挿入し、最後のレコードを挿入したいと思います。これらのレコードには、作成されたタイムスタンプがあります。したがって、最初のレコードと最後のレコードの違いを秒単位で見つけたいと思います。

アップデート:

私はもう試した

SELECT max(created) - min(created) FROM log WHERE action_id = 21 ORDER BY created;

0.000000を返しました

これら2つの時差は明らかに数分です。

max(created)    min(created)
"2013-02-11 14:30:34"   "2013-02-11 14:27:31"

DATETIMEとして保存されます。エンジンはInnoDBです。

4

1 に答える 1

1

createdそれは文字列として保存されていると思います。

これを試して:

select max(cast(created as datetime)) - min(cast(created as datetime))

次のようなことを試してみてください:

select '2012-01-01 10:44' - '2012-01-01 10:41'

値は0になります。MySQLは文字列を数値に変換し、2012で停止してから、差を取ります。

于 2013-02-11T14:45:03.163 に答える