2016-11-01 5 views
0

В старой базе данных столбец даты хранится как 12-10-2012 15:20:36. Мне нужно знать использование в таймфрейме 15 минут. Я захватил часть информации отсюда, но этот сценарий ниже дает мне нулевые результаты. Что мне не хватает?Попытка получить количество групп за 15 минут

$stats = mysql_query("SELECT 
    count(id) as count, 
    CASE 
     WHEN minute(STR_TO_DATE(datum, '%d-%m-%Y %h:%i:%s')) BETWEEN 0 and 14 THEN '00' 
     WHEN minute(STR_TO_DATE(datum, '%d-%m-%Y %h:%i:%s')) BETWEEN 15 and 29 THEN '15' 
     WHEN minute(STR_TO_DATE(datum, '%d-%m-%Y %h:%i:%s')) BETWEEN 30 and 44 THEN '30' 
     WHEN minute(STR_TO_DATE(datum, '%d-%m-%Y %h:%i:%s')) BETWEEN 45 and 59 THEN '45' 
    END AS intervals 
FROM errors 
GROUP BY intervals"); 
while($stat = mysql_fetch_object($stats)) { 
    echo $stat->intervals." - ".$stat->count."<br>"; 
} 
+0

Have вы запускали 'выбрать STR_TO_DATE (нулевых точек«% d-% m-% Y% H:% i:% s ') из ошибок', и действительно ли вывод выглядит разумным? – nos

+0

Ухм, только что, совсем нет, я только получаю пустое пространство ... – Harry

ответ

1

Попробуйте %d-%m-%Y %H:%i:%s вместо %d-%m-%Y %h:%i:%s. %H будет принимать 0-23 как значение для часа.

SELECT STR_TO_DATE('12-10-2012 15:20:36', '%d-%m-%Y %H:%i:%s') вернется 12-10-2012 15:20:36

SELECT STR_TO_DATE('12-10-2012 15:20:36', '%d-%m-%Y %h:%i:%s')NULL вернется

По случаю размер имеет значение :)

+0

Argh ... стоит мне часа, я упустил это ... ну, теперь он работает, спасибо! – Harry

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