我希望按照第一个月和第一年的顺序显示以下数据
count Date
------- ----------
5 Aug 2011
6 jan 2008
10 feb 2009
我希望结果显示2008年,然后2009年就像明智的订购明智日期,也应该按顺序显示月份
答案 0 :(得分:0)
假设:
Table1
的表格,其中包含一个名为EventDate
基于这些假设,以下内容应该为您提供所需的内容。
SELECT COUNT(*) AS Count,
CONVERT(CHAR(3), DATENAME(MONTH, EventDate))
+ ' ' + CONVERT(CHAR(4), YEAR(EventDate)) AS Date,
MIN(YEAR(EventDate)) AS Year, MIN(MONTH(EventDate)) AS Month
FROM Table1
GROUP BY CONVERT(CHAR(4), YEAR(EventDate)),
CONVERT(CHAR(3), DATENAME(MONTH, EventDate))
ORDER BY COUNT(*), Year, Month
答案 1 :(得分:0)
这是解决方案..
select convert(char(3), Date, 0)+' '+RIGHT(CONVERT(varchar, YEAR(Date)), 4) as [Date]
,count(id) as Count from Tabletest
group by convert(char(3), Date, 0)+' '+ RIGHT(CONVERT(varchar, YEAR(Date)), 4),month(Date),YEAR(Date)
order by YEAR(Date),MONTH(Date)