0

编辑:不同的例子:我有一辆车,我每分钟检查一次车速。现在我想知道汽车以特定速度行驶了多少小时。我有时间戳和 x = 速度 /****************************************** *************************************/

我有一张带有时间戳和值 X 的表。是否可以获得特定 X 的小时数?如果可能的话,适用于所有数据或特定年份或月份。时间戳是每分钟一次,但也可能存在间隙。

time                  x
1.01.16 20:59:22     50 
1.01.16 21:00:22     40
1.01.16 21:01:22     40
1.01.16 21:02:25     40
1.01.16 21:04:25     40
1.01.16 21:06:25     40
   .                  . 

输出示例

hours             x
   X ?            50
   X ?            40

我有一个 1-2 分钟的时间戳,有时几天或几个月都没有数据。我需要知道 x 有多少小时。

编辑:

为了更好的理解。我有时间戳和值 X。如果我在 1 小时内有 60 个时间戳,值为 X,我会知道 X 是 1 小时。但我没有 60 个时间戳,有时我只有 30 个或 2 个或没有。我怎样才能做到这一点?

  time                  x

 1.01.16 21:00:00     40
 1.01.16 21:01:00     40
 1.01.16 21:02:00     40
 1.01.16 21:03:00     40
 1.01.16 21:04:00     40
 1.01.16 21:05:00     40
     ....
 1.01.16 22::00       40

   OUTPUT:
 hours            x
  1              40

编辑:^^ 不同的例子:我有一辆车,我每分钟检查一次车速。现在我想知道汽车以特定速度行驶了多少小时。

4

1 回答 1

0

如果我正确理解您的问题,您需要从时间戳中提取小时数,请尝试以下教程中定义的“time_format()”功能。

TIME_FORMAT( time, format_mask )

  • %f 微秒(000000 到 999999)
  • %H 小时(通常为 00 到 23,但可以更高)
  • %h 小时(00 到 12) %I 小时(00 到 12)
  • %i 分钟 (00 到 59) %p AM 或 PM
  • %r 12 小时 AM 或 PM 格式的时间 (hh:mm:ss AM/PM)
  • %S 秒(00 到 59)
  • %s 秒(00 到 59)
  • %T 24 小时格式的时间 (hh:mm:ss)

SELECT TIME_FORMAT('17:42:03.000001', '%h');

http://www.techonthenet.com/mysql/functions/time_format.php

于 2016-08-12T11:29:34.363 回答