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,您不是在联接表,因此您不能使用“左联接”技术。这是因为您在这段时间内确实没有任何日志记录


可能您可以尝试创建函数方法,或者使用您的编程语言每小时至少插入一条记录。

是的,我也这么认为。这证实了我的猜测。实际上,我已经创建了一个在两个日期/时间范围内迭代的函数,并插入了结果中与每个相应日期/时间匹配的每一行。谢谢你的帮助,汤米。升级+并接受!