MySQL最近12个月的月度销售,包括无月销售

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个月的销售。

"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"

回答:

感谢@pankaj提示,在这里我通过此查询解决了…

SELECT 

SUM(IF(month = 'Jan', total, 0)) AS 'Jan',

SUM(IF(month = 'Feb', total, 0)) AS 'Feb',

SUM(IF(month = 'Mar', total, 0)) AS 'Mar',

SUM(IF(month = 'Apr', total, 0)) AS 'Apr',

SUM(IF(month = 'May', total, 0)) AS 'May',

SUM(IF(month = 'Jun', total, 0)) AS 'Jun',

SUM(IF(month = 'Jul', total, 0)) AS 'Jul',

SUM(IF(month = 'Aug', total, 0)) AS 'Aug',

SUM(IF(month = 'Sep', total, 0)) AS 'Sep',

SUM(IF(month = 'Oct', total, 0)) AS 'Oct',

SUM(IF(month = 'Nov', total, 0)) AS 'Nov',

SUM(IF(month = 'Dec', total, 0)) AS 'Dec',

SUM(total) AS total_yearly

FROM (

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")) as sub

以上是 MySQL最近12个月的月度销售,包括无月销售 的全部内容, 来源链接: utcz.com/qa/409320.html

回到顶部