Моя задача - извлечь данные, сгруппированные по часам. Я делаю это с помощью команды, аналогичной приведенной ниже:
SELECT DISTINCT
COUNT(player_id) AS `count`,
YEAR(date_created) AS `year`,
MONTH(date_created) AS `month`,
DAY(date_created) AS `day`,
HOUR(date_created) AS `hour`
FROM `logs`
WHERE
(controller='player') AND
(action='updatehash') AND (date_created >= FROM_UNIXTIME(1317916800)) AND
(date_created <= FROM_UNIXTIME(1318003199))
GROUP BY `year`, `month`, `day`, `hour`
ORDER BY `year` ASC, `month` ASC, `day` ASC, `hour` ASC
Возвращает результаты, аналогичные приведенным ниже:
Array
(
[0] => Array
(
[count] => 2
[year] => 2011
[month] => 10
[day] => 7
[hour] => 16
)
[1] => Array
(
[count] => 5
[year] => 2011
[month] => 10
[day] => 7
[hour] => 17
)
[2] => Array
(
[count] => 21
[year] => 2011
[month] => 10
[day] => 7
[hour] => 18
)
[3] => Array
(
[count] => 3
[year] => 2011
[month] => 10
[day] => 7
[hour] => 19
)
)
Результат выглядит удовлетворительным только потому, что мне нужно, чтобы он возвращал результаты за последние 24 часа, включая часы, в которых значения не учитывались Таким образом, основываясь на результатах, которые я разместил выше, он должен возвращать результаты с 7 октября 19:00 до 6 октября 18:00.
Возможно ли это?
Спасибо всем! ;)