我有这个查询,拉出月份和金额。像这样:SQL获取月份和年份的名称和月份的订单
Aug 2015 61.87
Dec 2015 10.83
Feb 2015 80.00
Jul 2015 56.19
Jun 2015 31.65
Mar 2015 59.02
May 2015 46.91
Nov 2015 6.00
Oct 2015 8.27
Sep 2015 15.73
正如你所看到的顺序是不正确的。这里是我的查询
select
CONVERT(CHAR(4), InvoiceDate, 100) + CONVERT(CHAR(4), InvoiceDate, 120) as Month,
CONVERT(decimal(18,2), round(SUM(amount),2)) as Amount
from DataInvoice
where Vendor='IceCreamTruck'
and AccountNumber = '54554'
and InvoiceDate >= '02/01/2015'
and InvoiceDate <= '01/31/2016'
group by MONTH(InvoiceDate),
CONVERT(CHAR(4), InvoiceDate, 100) + CONVERT(CHAR(4), InvoiceDate, 120)
我试图Year()
,Month()
做订单,但没有奏效。它在ORDER BY
子句中抱怨无效,因为它不包含在聚合函数或GROUP BY
子句中。
对此有何想法?顺便说一下发票是在这个犯人YYYY-MM-DD
谢谢。
因此,InvoiceData作为字符串存储在数据库中? – Dave
为什么在SQL中你会这么做?你为什么不用你的编程语言来进行格式化/转换? –
也许发布您的表模式... – Dave