, 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)
Result No. 2 - Recommended. Counting and dates are separate fields.
MonthYear CountFixtures
----------------------------------- -------------
March 2011 1
April 2011 1
May 2011 2
Option number 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)
Conclusion number 3 - exactly , as in your question, using brackets. However, I strongly believe that formatting (brackets et al) is a foreground task, not a SQL Server side.
FixturesByMonth
----------------
March 2011 (1)
April 2011 (1)
May 2011 (2)