我正在C#/ ASP.NET項目上工作,我正在使用SQL Server作爲我的後端。排序依據日期不能在我的項目中工作
我已經寫了一個查詢來獲取每月和每年的'總銷售額'的詳細信息,即mm-yyyy
格式,我想按升序排序。
但是,查詢不會按升序對結果進行排序。
我的查詢是
/* TOTAL SALE*/
SELECT
CAST((Datepart(Month, [p].Transdate)) AS varchar(50)) +'-'+
CAST((Datepart(Year, [p].Transdate)) AS varchar(50)) AS [Month/Year],
SUM([p].Litres) [Total Sale]
FROM
CustomerPoints AS [p]
INNER JOIN
Customers AS [c] ON [c].[CustomerID] = [p].[CustomerID]
WHERE
[p].Transdate BETWEEN '2013-01-20' AND '2015-03-05'
AND [c].DistributorID = '1'
GROUP BY
CAST((Datepart(Month, [p].Transdate)) AS varchar(50)) + '-'+
CAST((Datepart(Year, [p].Transdate)) AS varchar(50))
ORDER BY
CAST((Datepart(Month, [p].Transdate)) AS varchar(50)) + '-'+
CAST((Datepart(Year, [p].Transdate)) AS varchar(50)) ASC
上述查詢的輸出是
Month/Year Total Sale
--------------------------
1-2013 600
1-2014 2300
10-2014 0
2-2015 1560
3-2014 80
3-2015 700
請幫助。
預先感謝您。
您正在訂購的字符串不工作就像訂購int或日期一樣...按子句順序投入並不是壞事 - 只是按[p]排序.Transdate – MajkeloDev 2015-03-19 09:59:29
得到了我的錯誤。在我的表格中,日期格式爲yyyy-mm-dd格式,而且我以mm-yyyy格式進行投影,這是由於順序不起作用的原因。 – 2015-03-19 10:17:27
Transdate的DataType? – 2015-03-19 10:33:15