Я хотел бы знать, сколько использование в час на основе данных ниже:MySQL сумма почасовой использования основан на выполнении общей
TIME DATA
00:00:24 3198
00:17:42 3199
00:44:54 3200
01:24:24 3201
01:52:24 3202
02:27:18 3203
02:51:06 3204
03:28:30 3205
Когда я использовать запрос:
SELECT
left(TIME,2) AS hour,
max(DATA) - min(DATA) as usage
FROM my_table
GROUP BY hour
Я получаю неправильные значения, потому что MySQL только смотрит на минимальное значение в часовом диапазоне по сравнению с максимальным значением. Результаты:
hour usage
00 2
01 1
02 1
03 0
Где если посмотреть на данные вручную и подвести его стороны, я бы ожидать:
TIME DATA Usage (summed by hand)
00:00:24 3198
00:17:42 3199
00:44:54 3200 2
01:24:24 3201
01:52:24 3202 3
02:27:18 3203
02:51:06 3204 2
03:28:30 3205 1
Есть ли способ решить эту проблему в MySQL напрямую или мне нужно создать цикл в PHP? (отредактированный запрос и осветленные результаты и ожидаемые результаты)
ли результаты Вы отправляете, отправляемые по запросу вы цитируете? Я бы ожидал, что бы он ни делал, запрос выше вернул бы четыре столбца. Будет намного проще и, вероятно, больше использовать для вас, чтобы мы могли отлаживать запрос, который вы публикуете, а не угадывать, что вы можете использовать и отлаживать. – nurdglaw
01:52:24 3202 3 --- Почему? – Strawberry
Создайте и разместите sqlfiddle. –