我想按月和年的顺序显示以下数据
count Date
------- ----------
5 Aug 2011
6 jan 2008
10 feb 2009
我想首先显示一个 2008 年,然后是 2009 年,就像明智的排序日期一样,也应该按顺序显示月份
我想按月和年的顺序显示以下数据
count Date
------- ----------
5 Aug 2011
6 jan 2008
10 feb 2009
我想首先显示一个 2008 年,然后是 2009 年,就像明智的排序日期一样,也应该按顺序显示月份
假设:
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
这是解决方案..
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)