Почтовое внутреннее объединение данных MYSQL
Пользователь таблицы
username | name | role
admin | tony | 1
sales | roy | 2
custo | boy | 3
таблица журналов
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`
1 ответ
В настоящее время я нашел этот код,
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.