reading it again, since you want to hav eby month, the date logic needs to be int he group by also:
Select
br.Branchno,
DATEADD(mm, DATEDIFF(mm,0,vw.viewdate), 0) As MonthViewed,
Count(*) As TotalViews
FROM Branch
INNER JOIN Registration rg ON br.Branchno = rg.Branchno
INNER JOIN Client cl ON rg.Clientno = cl.Clientno
INNER JOIN Viewing vw ON cl.Clientno = vw.ClientNo
Group By br.Branchno,DATEADD(mm, DATEDIFF(mm,0,vw.viewdate), 0)
ORDER BY br.Branchno,MonthViewed
Lowell