如果间隔中没有结果,则按间隔对结果分组,包括零

时间:2019-04-26 07:57:22

标签: mysql

我有以下查询按用户类型及其登录间隔15分钟对登录进行分组。

SELECT
    `group_type`, 
    COUNT(DISTINCT CONCAT(group_id,'||',stat_user_id)) as total_logins,
    TIME(CONVERT_TZ(DATE_FORMAT(FROM_UNIXTIME(floor(UNIX_TIMESTAMP(`timestamp`) / 900) * 900), '%Y-%m-%d %H:%i:%s'), 'UTC', 'Europe/London'))
FROM stats_login 
JOIN groups ON `stat_group_id` = `group_id
WHERE `stats_login`.`timestamp` > DATE_FORMAT(NOW(), "%Y-%m-%d 00:00:00") AND DATE_FORMAT(NOW(), "%Y-%m-%d 23:59:59")
GROUP BY `group_type`, floor(UNIX_TIMESTAMP(`stats_login`.`timestamp`) / 900)

这将返回类似的内容:

admin   1   05:30:00
admin   2   06:30:00
admin   4   07:00:00
admin   5   07:15:00
admin   17  07:30:00
editor  1   01:00:00
editor  1   02:15:00
editor  2   06:00:00
editor  1   06:15:00
editor  4   06:30:00
editor  3   06:45:00
editor  5   07:00:00
editor  7   07:15:00
editor  3   07:30:00
guest   1   08:00:00
guest   1   08:15:00

我想做的是在15分钟的间隔中添加所有用户类型都没有登录的时间。

我不知道从哪里开始。

0 个答案:

没有答案