Итак, у меня есть скрипт, который хранит данные в базе данных MYSQL каждый час, и я работаю над помещением этих данных в график. Я хотел бы сделать график с двумя строками. Первая строка будет данными за последние 24 часа, а вторая строка будет данными за предыдущие 24 часа.PHP MYSQL Выберите данные за последние 24 часа и предыдущие 24 часа
Я пытался обращаться к базе данных, как это:
// this is for the first line in the graph
"SELECT * FROM database WHERE date >=(DATE_SUB(now(), INTERVAL 24 HOUR))";
// this is for the second line in the graph
"SELECT * FROM database WHERE date >=(DATE_SUB(now(), INTERVAL 48 HOUR)) AND date <=(DATE_SUB(now(), INTERVAL 24 HOUR))";
Но результаты не совсем правильно .. Я прошу прощения, если мой MYSQL паршиво, я только учусь прямо сейчас.
Интересно, что приведенный выше код не дает мне все данные из первых 24 часов или за последние 24 часа, но когда я изменить запрос следующим образом:
// this is for the first line in the graph
"SELECT * FROM database WHERE date >=(DATE_SUB(now(), INTERVAL 48 HOUR))";
// this is for the second line in the graph
"SELECT * FROM database WHERE date >=(DATE_SUB(now(), INTERVAL 3 DAY)) AND date <=(DATE_SUB(now(), INTERVAL 2 DAY))";
Это, как представляется, работать на какое-то странное причина?
Это формат моей базе данных:
id | data | date | time
0 | 0.00 |Y-d-m |H:i:s
Сейчас она насчитывает около 68 статей.
Может кто-нибудь помочь мне понять это? Или рекомендовать лучший метод? Заранее спасибо!
Можете ли вы предоставить некоторые примеры данных (предпочтительно в форме 'INSERT INTO ... VALUES (...' statements) и результатов, которые вы получаете + текущее значение Now(), когда вы запускали тест скрипт? – VolkerK