|
|
|
| Мне нужно получить данные за определенное время в указанный день.
Получается следующай конструкция:
SELECT COUNT(DISTINCT ip) FROM ip WHERE putdate < DATE_FORMAT( NOW( ) , '%Y-%m-%d 23:59:59' ) - INTERVAL 1 DAY + INTERVAL 5 HOUR AND putdate >= DATE_FORMAT( NOW( ) , '%Y-%m-%d 23:59:59' ) - INTERVAL 1 DAY + INTERVAL 6 HOUR
|
Собственно, должна ли работать подобная конструкция? В случае если все интервалы вычитать, то все работает нормально, а если прибавлять - начинает ругаться...
Старнно это. | |
|
|
|
|
|
|
|
для: Loki
(03.06.2005 в 12:49)
| | Хм... а попробуйте скобки поставить... и от DATE_FORMAT() зря вычитаете - лучше сначала вычесть, а потом DATE_FORMAT() использовать. | |
|
|
|
|
|
|
|
для: cheops
(03.06.2005 в 13:00)
| | В общем, пошел обходным путем:)
Это я в PowerCounter обнаружил ошибку:
статистика посещений по часам показывает среднюю температуру в Гондурасе.
В файле utils.php иправил функцию show_ip_host_hour
подправил строки:
<?
else $tmp2 = " AND putdate < DATE_FORMAT( NOW( ) , '%Y-%m-%d 23:59:59' ) - INTERVAL $day DAY - INTERVAL (24-$begin) HOUR";
$tmp1 = "putdate >= DATE_FORMAT( NOW( ) , '%Y-%m-%d 23:59:59' ) - INTERVAL $day DAY - INTERVAL (24-$end) HOUR";
?>
|
Теперь работает нормально. Обратите внимание. | |
|
|
|
|
|
|
|
для: Loki
(03.06.2005 в 13:04)
| | Спасибо - поправим... | |
|
|
|
|
|
|
|
для: cheops
(03.06.2005 в 13:00)
| | Хм... если сначала вычитать, а потом форматировать, то отсчет будет от текущего времени, а нужно от текущей даты. Или я что-то путаю? | |
|
|
|
|
|
|
|
для: Loki
(03.06.2005 в 13:06)
| | Ой да, не сообразил :))), хотя сам так и задумывал... | |
|
|
|