2016-08-12 9 views
0

EDIT: Разный пример: у меня есть машина, которую я проверяю каждую минуту, скорость машин. Теперь я хочу знать, сколько часов машина ехала с определенной скоростью. У меня есть метка времени и x = скорость /**************************************** ***************************************/Как получить часы от timestamp для определенного значения в MySQL?

У меня есть таблица с отметками времени и значение 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.

EDIT:

Для лучшего понимания. У меня есть отметки времени и значение X. Если бы у меня было 60 временных меток за 1 час со значением 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 

EDIT: ^^ другой пример: у меня есть автомобиль, я проверить каждый мин скорость автомобилей. Теперь я хочу знать, сколько часов машина ехала с определенной скоростью.

+0

Как получить '200' с этой отметки времени? Должно ли это быть '20'? – Barmar

+0

это должен быть пример, если у меня было больше временных меток со значением 50. – Khan

+0

Является ли это 'SUM()'? – Barmar

ответ

0

Если я правильно понял ваш вопрос, вам нужно извлечь часы из timestamp try 'time_format()' funciton, как определено в следующем уроке.

TIME_FORMAT(time, format_mask)

  • % F микросекунд (000000 999999)
  • % Н час (от 00 до 23, как правило, но может быть выше)
  • % ч час (от 00 до 12)% I час (от 00 до 12 лет)
  • % я минут (от 00 до 59)% р AM или PM
  • % г Время в формате РМ 12-часовой AM или (чч: мм: сс AM/PM)
  • % S Секунды (От 00 до 59)
  • % S Секунды (00 до 59)
  • % T Время в 24-часовом формате (чч: мм: сс)

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

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

+0

спасибо, что это полезно, но не ответ на мой вопрос – Khan