Order By month and year in sql with sum

前端 未结 7 2203
说谎
说谎 2020-12-29 08:58

I have a stored procedure and the select statement is:

SELECT     { fn MONTHNAME(OrderDate) } AS MonthName, YEAR(OrderDate) AS Year, SUM(TotalValue) AS Profi         


        
7条回答
  •  清酒与你
    2020-12-29 09:25

    I think you should use order by clause at the end

    SELECT     { fn MONTHNAME(OrderDate) } AS MonthName, YEAR(OrderDate) AS Year, SUM(TotalValue) AS Profits
    FROM         [Order]
    WHERE     (YEAR(OrderDate) = @year)
    GROUP BY { fn MONTHNAME(OrderDate) }, YEAR(OrderDate) 
    ORDER BY { fn MONTH(OrderDate) }, YEAR(OrderDate)
    

    or

    you can do like this

    SELECT     CASE { fn MONTH(OrderDate) } 
                when 0 then 'JAN'
                when 1 then 'FEB'
                when 2 then 'MAR'
                when 3 then 'APR'
                when 4 then 'MAY'
                when 5 then 'JUN'
                when 6 then 'JUL'
                when 7 then 'AUG'
                when 8 then 'SEP'
                when 9 then 'OCT'
                when 10 then 'NOV'
                when 11 then 'DEC'
               END
          AS MonthName, YEAR(OrderDate) AS Year, SUM(TotalValue) AS Profits
        FROM         [Order]
        WHERE     (YEAR(OrderDate) = @year)
        GROUP BY { fn MONTH(OrderDate) }, YEAR(OrderDate) 
        ORDER BY { fn MONTH(OrderDate) }, YEAR(OrderDate)
    

提交回复
热议问题