如何按月按结果集顺序获取数据? [英] How to get data in result set order by month?
问题描述
大家好,
以下代码工作正常,但我没有按月顺序订购.你能建议我什么主意吗?
Hi All,
The following code is working fine but I am not getting in month order. Can you suggest me any idea?
SELECT SUM(TaxableAmt) [NSV], (UPPER(CONVERT(VARCHAR,LEFT(DATENAME(MM,invoicedate),3)))+'/'+ CONVERT(VARCHAR,RIGHT(DATENAME(YYYY,invoicedate),2))) AS MONTHYEAR
FROM SALESDATA where (invoicedate >='4-1-2009' and invoicedate <='4-30-2010')
GROUP BY (UPPER(CONVERT(VARCHAR,LEFT(DATENAME(MM,invoicedate),3)))+'/'+ CONVERT(VARCHAR,RIGHT(DATENAME(YYYY,invoicedate),2)))
结果集是:
NSV MONTHYEAR
45099947.4300001 APR/09
83295380.4299992 NOV/09
95838138.2 AUG/09
74326454.2599992 DEC/09
94144688.5400001 JUL/09
60688678.260001 MAR/10
58451739.9700001 APR/10
87555926.7200027 FEB/10
128036311.36 JAN/10
50949078.1699996 JUN/09
45232741.8099997 MAY/09
72846524.389999 OCT/09
62841500.5999995 SEP/09
问候,
N.SRIRAM
Result set is:
NSV MONTHYEAR
45099947.4300001 APR/09
83295380.4299992 NOV/09
95838138.2 AUG/09
74326454.2599992 DEC/09
94144688.5400001 JUL/09
60688678.260001 MAR/10
58451739.9700001 APR/10
87555926.7200027 FEB/10
128036311.36 JAN/10
50949078.1699996 JUN/09
45232741.8099997 MAY/09
72846524.389999 OCT/09
62841500.5999995 SEP/09
Regards,
N.SRIRAM
推荐答案
只需将ORDER BY放在最后,就像
Just put ORDER BY at the end, Like
Order By MONTH(invoicedate)
这样,无论年份如何,都可以通过对月份进行排序来获得数据,但是如果要在Year中对月份进行排序,则可以使用下面的语法
That will give you data by sorting month wise regardless of year but if you want to sort month among Year then you can use below Syntax
Order By YEAR(invoicedate),Month(invoicedate)
希望它对您有用.
Hope it will work for you.
这篇关于如何按月按结果集顺序获取数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!