我有表像更正我的MySQL查詢?
CREATE TABLE `survey` (
`id` int(11) NOT NULL auto_increment,
`submitdate` datetime default NULL,
`answer` varchar(5) collate utf8_unicode_ci default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=499 ;
現在得到這樣
c t Clicks
2012-10-29 2012-10-22 10
2012-11-04 2012-10-30 20
2012-11-11 2012-11-05 30
2012-11-19 2012-11-12 34
我使用此查詢
SELECT uq.timespan, COALESCE(tsq.TotalClicks, 0) as Clicks FROM (
SELECT DATE(DATE_ADD(NOW() , INTERVAL -21
DAY)) c, DATE(DATE_ADD(NOW() , INTERVAL -28
DAY)) l
union SELECT DATE(DATE_ADD(NOW() , INTERVAL -15
DAY)) c, DATE(DATE_ADD(NOW() , INTERVAL -20
DAY)) l
union SELECT DATE(DATE_ADD(NOW() , INTERVAL -8
DAY)) c, DATE(DATE_ADD(NOW() , INTERVAL -14
DAY)) l
union SELECT curdate() c,DATE(DATE_ADD(NOW() , INTERVAL -7
DAY)) l
)uq LEFT JOIN (
SELECT CASE
WHEN submitdate >= NOW() - INTERVAL 4 WEEK
AND submitdate < NOW() - INTERVAL 3 WEEK THEN c 'to' l
DAY))
WHEN submitdate >= NOW() - INTERVAL 3 WEEK
AND submitdate < NOW() - INTERVAL 2 WEEK THEN c 'to' l
WHEN submitdate >= NOW() - INTERVAL 2 WEEK
AND submitdate < NOW() - INTERVAL 1 WEEK THEN c 'to' l
DAY))
WHEN submitdate >= NOW() - INTERVAL 1 WEEK THEN c 'to' l
END Weeksubmitdate,
count(id) TotalClicks
FROM survey
WHERE submitdate >= NOW() - INTERVAL 4 WEEK
GROUP BY Weeksubmitdate
)tsq ON uq.timespan = tsq.Weeksubmitdate";
問題值是16日線c爲L。
我收到以下錯誤:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''to' l DAY)) WHEN submitdate >= NOW() - INTERVAL 3 WEEK ' at line 16