以下のデータを最初に月、次に年の順に表示したい
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)