这是我的查询
select sender, count(*) as Total, date_format(senttime, '%m - %Y - %d') as Sent_Date
from sendmail sm
left join subuser su
on (sm.sender = su.sub_user)
where senttime <= NOW()
AND senttime >= DATE_SUB(senttime, INTERVAL 7 DAY)
group by date_format(senttime, '%d'), sender
这是实际输出
它仅显示两个日期21
和22
,但我需要7个日期,总计数为0。
我该怎么办呢。
答案 0 :(得分:0)
如果没有发送时间,它不会满足您的where
条件。
where senttime <= NOW()
AND senttime >= DATE_SUB(senttime, INTERVAL 7 DAY)
您需要为其添加or
:
where senttime IS NULL OR (senttime <= NOW()
AND senttime >= DATE_SUB(senttime, INTERVAL 7 DAY))
您可能需要切换此
from sendmail sm
left join subuser su
到
from subuser su
left join sendmail sm
假设sendmail仅在发送内容时具有值 - 您需要从您知道的那个中选择,然后离开加入您不确定的那个(或者执行不同类型的连接) )