我有一个存储过程,选择语句是:
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)
这显示每个月的总和 但我需要按月和年对结果进行排序,因为我的结果显示如下:
April 2013
February 2013
January 2013
June 2013
March 2013
May 2013
遇到这种情况有什么解决办法吗?
最佳答案
试试这个:
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) }, MONTH(OrderDate), YEAR(OrderDate)
order by Year(orderDate),month(OrderDate)
请注意,您需要将排序依据的任何字段添加到 group by 子句中
关于sql - 在 sql 中按月份和年份排序并求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17271316/