2
我是mySql的新手。我必须根据星期几来计算表格中的点击次数。我怎么能得到0没有使用MySQL的记录?
这里期限取决于数据库。但是如果上周没有记录,它会发生什么,它不在列表中。但我需要它作为0.那么,我该怎么做?
SELECT CASE
WHEN PERIOD >= NOW() - INTERVAL 4 WEEK
AND PERIOD < NOW() - INTERVAL 3 WEEK THEN '22-28 days ago'
WHEN PERIOD >= NOW() - INTERVAL 3 WEEK
AND PERIOD < NOW() - INTERVAL 2 WEEK THEN '15-21 days ago'
WHEN PERIOD >= NOW() - INTERVAL 2 WEEK
AND PERIOD < NOW() - INTERVAL 1 WEEK THEN '8-14 days ago'
WHEN PERIOD >= NOW() - INTERVAL 1 WEEK
THEN 'up to 7 days ago'
END WeekPeriod, IFNULL(count(CLICKS),0) TotalClicks
FROM TABLE
WHERE PERIOD >= NOW() - INTERVAL 4 WEEK
GROUP BY CASE
WHEN PERIOD >= NOW() - INTERVAL 4 WEEK
AND PERIOD < NOW() - INTERVAL 3 WEEK THEN '22-28 days ago'
WHEN PERIOD >= NOW() - INTERVAL 3 WEEK
AND PERIOD < NOW() - INTERVAL 2 WEEK THEN '15-21 days ago'
WHEN PERIOD >= NOW() - INTERVAL 2 WEEK
AND PERIOD < NOW() - INTERVAL 1 WEEK THEN '08-14 days ago'
WHEN PERIOD >= NOW() - INTERVAL 1 WEEK
THEN '01 to 7 days ago'
END
ORDER BY WeekPeriod";
答案应该是这样的
1-7 0
8-15 14
16-21 34
21-28 45
我如何为过去4个月,而不是过去4个星期做到这一点?尝试但没有得到正确的结果。 - – Vadapalli
@BhavaniMalladi用'INTERVAL 4 MONTH'代替'INTERVAL 4 WEEK'' – fancyPants
感谢您的回复。是的,我试图逐月替换。我需要按月输出。像nov,oct,sep,aug – Vadapalli