0
我目前正在尝试创建一个报表,总计有一些个人在我的PHPBB3论坛上的时间总数已经预订了,最后一周。下面的查询和预期一样:多个左连接已影响到我的SUM(TIMESTAMPDIFF计算
SELECT forum_users.username, SUM(TIMESTAMPDIFF(SECOND, schedule_slots.time_starting, schedule_slots.time_finishing)) AS seconds
FROM forum_users
LEFT JOIN schedule_slots
ON forum_users.user_id = schedule_slots.user_id
AND schedule_slots.time_starting >= (CURDATE() - INTERVAL 1 WEEK)
AND schedule_slots.is_del = 0
AND schedule_slots.channel = 0
WHERE (forum_users.group_id = 8 OR forum_users.group_id = 5 OR forum_users.group_id = 14)
GROUP BY forum_users.username
ORDER BY upper(forum_users.username)
然而,当我去参加另一个表,时间戳差异最终被错误地计算(这是更高),这是我的新的非工作声明:
SELECT forum_users.username, SUM(TIMESTAMPDIFF(SECOND, schedule_slots.time_starting, schedule_slots.time_finishing)) AS seconds, group_concat(DISTINCT forum_user_group.group_id) AS user_groups
FROM forum_users
LEFT JOIN schedule_slots
ON forum_users.user_id = schedule_slots.user_id
AND schedule_slots.time_starting >= (CURDATE() - INTERVAL 1 WEEK)
AND schedule_slots.is_del = 0
AND schedule_slots.channel = 0
LEFT JOIN forum_user_group
ON forum_user_group.user_id = forum_users.user_id
WHERE (forum_users.group_id = 8 OR forum_users.group_id = 5 OR forum_users.group_id = 14 OR forum_users.group_id = 12)
GROUP BY forum_users.username
ORDER BY upper(forum_users.username)
我在这一张上画了一张空白,非常感谢你的帮助。
完美工作,非常感谢! – 2013-04-10 15:49:20