【发布时间】:2011-09-20 21:46:31
【问题描述】:
我一直在尝试使用 MySQL 显示每周销售结果表,其中一周的结果应该是这样的:
Sun - Mon - Tues - Wed - Thur - Fri - Sat
所以我继续使用这个查询:
SELECT DATE_FORMAT(cart_calendar.datefield, '%d-%b') AS DATE
, IFNULL(SUM(cart_daily_sales.quantity),0) AS total_sales
FROM cart_daily_sales
RIGHT JOIN cart_calendar
ON (DATE(cart_daily_sales.order_date) = cart_calendar.datefield)
WHERE (cart_calendar.datefield)
GROUP BY WEEK(cart_calendar.datefield)
我知道我快到了,因为这会输出一年中的所有 52 周,我只想要当前周的结果,这与上面的代码不同...
'02-Jan', '09-Jan', '16-Jan', '23-Jan', '30-Jan', '06-Feb', '13-Feb', '20-Feb', '27-Feb', '06-Mar' e.t.c....
我知道我可以将 BETWEEN 运算符用于今天的日期,然后是 -7 天,但这不会显示当前的一周,如果今天是星期三,它将显示最后 7 天到最后一周的星期三,而不是正确的星期结构。
如何按每周分组显示上周的销售额?
【问题讨论】: