2016-08-12 2 views
-1

В mysql у меня есть много раз, и я показываю это с помощью php в таблице.Mysql и php, если разность времени меньше 1 минуты

Теперь мне нужно, , если время, я показываю, где WITHIN ONE MIN (разница) Мне нравится показывать время в таблице (html) красным.

Row | Time 
    1  | 10:10:11 
    2  | 10:12:01 <--- THIS RED 
    3  | 10:12:50 <--- THIS RED 
    4  | 10:14:12 

Есть ли способ, который я могу сделать с помощью php? Теперь я использую простой запрос mysql. выбрать .... от ....

Я благодарен за все

+0

Что бы вы хотели показать, если говорят, что в течение одной минуты было 4 записи? –

+0

, чем все 4 записи показывают красный цвет в таблице html, но его около 1000 раз ... и не все в течение 1 минуты. – joergi1988

+0

Используйте мой обновленный ответ – Mojtaba

ответ

1

Попробуйте это:

SELECT t1.`Row`, 
     t1.`Time`, 
     TIME_TO_SEC(TIMEDIFF(t2.`Time`, t1.`Time`)) AS Diff, 
     CASE WHEN (TIME_TO_SEC(TIMEDIFF(t2.`Time`, t1.`Time`)) < 61 || TIME_TO_SEC(TIMEDIFF(t1.`Time`, t3.`Time`)) < 61) THEN 'Red' ELSE 'Blue' END AS Color 
FROM myTable t1 
LEFT JOIN myTable t2 
    ON t2.`Row` = t1.`Row`+1 
LEFT JOIN myTable t3 
    ON t3.`Row` = t1.`Row`-1 
    ORDER BY t1.`Row` ASC 

FIDDLE DEMO

Пожалуйста, обратите внимание на мой демо, я использовал VARCHAR На время. Но не имеет значения, использовали ли вы какие-либо другие типы. Выполняется запрос.

+0

спасибо ... отлично !! – joergi1988

1
SELECT t1.Row, 
     t1.Time, 
     CASE WHEN t2.minute IS NOT NULL THEN 'Red' ELSE 'Black' END AS Color 
FROM yourTable t1 
LEFT JOIN 
(
    SELECT CONCAT(SUBSTRING(Time, 1, 2), SUBSTRING(Time, 4, 2)) AS minute 
    FROM yourTable 
    GROUP BY CONCAT(SUBSTRING(Time, 1, 2), SUBSTRING(Time, 4, 2)) 
    HAVING COUNT(*) > 1 
) t2 
    ON CONCAT(SUBSTRING(t1.Time, 1, 2), SUBSTRING(Time, 4, 2)) = t2.minute 
+0

Это неправильно. Итак, 10:21:30 и 11:21:45 находятся в диапазоне !!! – Mojtaba

+0

@Mojtaba Я обновил свой ответ только на групповые минуты, происходящие в тот же момент времени в противном случае. –

+0

может быть время преобразования в метку времени, а затем рассчитать различия поможет там – user1040495

Смежные вопросы