-3

以下のデータを最初に月、次に年の順に表示したい

count     Date
-------  ----------
 5        Aug 2011 
 6        jan 2008
10        feb 2009

最初に2008年を表示し、次に2009年を賢明な順序で表示したいのですが、月も順番に表示する必要があります

4

2 に答える 2

0

仮定:

  • 年と月でグループ化されたレコードをカウントしようとしています
  • Table1次の名前の列を持つ名前のテーブルがありますEventDate
  • SQL Serverを使用しています(指定していません)
  • 出力に余分な列があることを気にしません(不要な列は無視してかまいません)
  • カウント、年、月の順に注文します

これらの仮定に基づいて、以下はあなたが望むものを与えるはずです。

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
于 2013-03-01T06:37:11.683 に答える
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)
于 2013-03-01T07:13:15.657 に答える