Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MYSQL小时数据内部连接_Mysql_Select_Count_Group By_Hour - Fatal编程技术网

MYSQL小时数据内部连接

MYSQL小时数据内部连接,mysql,select,count,group-by,hour,Mysql,Select,Count,Group By,Hour,表用户 username | name | role admin | tony | 1 sales | roy | 2 custo | boy | 3 表logstat logdate | ip | username 2015/12/12 18:02:22 | 192.168.1.11 | admin 2015/11/12 21:02:44 | 192.168.1.101

表用户

username |   name   | role
admin    | tony     | 1
sales    | roy      | 2
custo    | boy      | 3
表logstat

logdate             |   ip              | username
2015/12/12 18:02:22 | 192.168.1.11      | admin
2015/11/12 21:02:44 | 192.168.1.101     | sales
2015/11/12 22:04:27 | 192.168.1.121     | custo
我想要的输出是:

datetime              | admin   | sales     | custo
(currentdate) 18:00:0 | 1       | 0         | 0
(currentdate) 21:00:0 | 0       | 1         | 0
(currentdate) 21:00:0 | 0       | 0         | 1
当显示系统中每个角色的每小时数据时,我需要(currentdate)根据ARMCHART要求进行调整的输出

到目前为止,我被困在

SELECT CONCAT(Curdate(), ' ', HOUR(logdate)) as 'hourly', 
(select count('logstat.username') 
   from logstat inner join user on user.username=logstat.username 
   and user.idrole='1' 
   where logdate BETWEEN (CURDATE() + INTERVAL (SELECT hourly(NOW())) hourly - INTERVAL 23 hourly) 
   AND ((CURDATE() + INTERVAL (SELECT hourly(NOW())) hourly)))as 'Admin' 
   FROM `logstat` GROUP BY `hourly`

现在我找到了这个代码

SELECT CONCAT(Curdate(),' ',DATE_FORMAT(logdate,'%H')) as 'hourly',
     (select count('logstat.username') from logstat inner join user on user.username=logstatus.username and user.idrole='1' where HOUR(logdate) = HOUR(hourly))as 'Admin',
    (select count('logstat.username') from logstat inner join user on user.username=logstatus.username and user.idrole='2' where HOUR(logdate) = HOUR(hourly))as 'Sales',
    (select count('logstat.username') from logstat inner join user on user.username=logstatus.username and user.idrole='3' where HOUR(logdate) = HOUR(hourly))as 'Custo'   
FROM `logstat` GROUP BY `hourly`
希望对使用amchart有所帮助