Php mySQL:在结果中的间隔之间自动插入行
我的任务是提取按小时分组的数据。我通过发出类似于以下命令的命令来执行此操作:Php mySQL:在结果中的间隔之间自动插入行,php,mysql,business-logic,Php,Mysql,Business Logic,我的任务是提取按小时分组的数据。我通过发出类似于以下命令的命令来执行此操作: 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 (
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小时的结果,包括没有计数值的小时数。因此,根据我上面发布的结果,它应该返回10月7日19:00到10月6日18:00的结果
这可能吗
谢谢大家 简短回答,不使用此SQL,您不是在联接表,因此您不能使用“左联接”技术。这是因为您在这段时间内确实没有任何日志记录
可能您可以尝试创建函数方法,或者使用您的编程语言每小时至少插入一条记录。是的,我也这么认为。这证实了我的猜测。实际上,我已经创建了一个在两个日期/时间范围内迭代的函数,并插入了结果中与每个相应日期/时间匹配的每一行。谢谢你的帮助,汤米。升级+并接受!