SELECT DATE_FORMAT(date, "%b") AS month, SUM(total_price) as total
FROM cart
WHERE date <= NOW()
and date >= Date_add(Now(),interval - 12 month)
GROUP BY DATE_FORMAT(date, "%m-%Y")
此查询只显示现有月份的结果。我需要所有12个月的销售。MySQL每月销售包括过去12个月的月销售
输出:
"month" "total"
--------------
"Jun" "22"
"Aug" "30"
"Oct" "19"
"Nov" "123"
"Dec" "410"
所需的输出:
"month" "total"
--------------
"Jan" "0"
"Feb" "0"
"Mar" "0"
"Apr" "0"
"May" "0"
"Jun" "22"
"Jul" "0"
"Aug" "30"
"Sep" "0"
"Oct" "19"
"Nov" "123"
"Dec" "410"
您将需要某种辅助日期表,没有销售,以获得几个月改变
group by
动态日期一部分和最后一组。 – davek
我们能做到这一点通过选择“月”为月 UNION SELECT“二月”为月 UNION SELECT“月”为月 UNION SELECT“月”为月 UNION SELECT“五一”为月 UNION SELECT“君”为月 UNION SELECT“七月”为月 UNION SELECT“八月”为月 UNION SELECT“九月”为月 UNION SELECT“十月”为月 UNION SELECT“月”为月 UNION SELECT“月”为月 –
为什么你在'SELECT'和'GROUP BY'中使用不同的日期格式? – vladkras