MySQL monthly Sale of last 12 months including months with no Sale

后端 未结 2 870
再見小時候
再見小時候 2020-11-27 17:26
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 DAT         


        
2条回答
  •  忘掉有多难
    2020-11-27 18:05

    Thanks for @pankaj hint, Here i resolved it via this query...

    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
    

提交回复
热议问题