SELECT
EXTRACT( DAY FROM date) AS day,
EXTRACT( MONTH FROM date) AS month, who, sum ( wsd ) AS total FROM weekly
WHERE season = '08'
AND status = 1
AND who = 'NAME SURNAME'
GROUP BY day, month
day month who total
12 8 NAME SURNAME 18
我得到“水务署”栏的总数,每一个人在“谁”专栏每天。如果一个人一天没有记录在表中,我们就不能像预期的那样在结果中看到这个名字。
但是我也想看到那些记录,总列中有日期和名称"0“。
我怎样才能只用mysql来做呢?
发布于 2013-08-13 11:03:38
在这种情况下,您可以将条件逻辑从where
移动到聚合--假设您每天都有某人的数据:
SELECT EXTRACT( DAY FROM date) AS day, EXTRACT( MONTH FROM date) AS month, who,
sum(case when status = 1 AND who = 'NAME SURNAME' then wsd else 0 end) AS total
FROM weekly
WHERE season = '08'
GROUP BY day, month;
发布于 2013-08-13 10:59:33
您是否尝试过合并或Isnull来插入默认值(在您的示例中是0)?
https://stackoverflow.com/questions/18206989
复制相似问题