Я даю вам три варианта , с 3 отображаемыми выходами
Опция # 1
select convert(char(6), Date, 112) MonthYear, count(*) CountFixtures
from Fixture
group by convert(char(6), Date, 112)
order by convert(char(6), Date, 112)
Выход № 1 - самый базовый.Интерфейс может определить названия месяцев и лет:
MonthYear CountFixtures
--------- -------------
201103 1
201104 1
201105 2
Опция # 2
select datename(month, convert(datetime,convert(char(6), Date, 112)+'01'))
+ ' '
+ left(convert(char(6), Date, 112),4) MonthYear,
count(*) CountFixtures
from Fixture
group by convert(char(6), Date, 112)
order by convert(char(6), Date, 112)
Выход № 2 - рекомендуется.Подсчет и даты являются отдельными полями
MonthYear CountFixtures
----------------------------------- -------------
March 2011 1
April 2011 1
May 2011 2
Опция # 3
select datename(month, convert(datetime,convert(char(6), Date, 112)+'01'))
+ ' '
+ left(convert(char(6), Date, 112),4)
+ ' ('
+ convert(varchar,count(*))
+ ')' FixturesByMonth
from Fixture
group by convert(char(6), Date, 112)
order by convert(char(6), Date, 112)
Выход # 3 - точно , как у вас в вопросе, в скобках,Однако я твердо верю, что форматирование (скобки и др.) - это задача переднего плана, а не сторона SQL Server.
FixturesByMonth
----------------
March 2011 (1)
April 2011 (1)
May 2011 (2)