SELECT year(holidaydate),month(holidaydate),
sum(case Weekend when true then 1 else 0 end) wkEnd,
sum(case PublicHoliday when true then 1 else 0 end) pubHol
FROM Holiday
GROUP BY year(holidaydate),month(holidaydate)
Jeg har ikke SQL server tilgængelig. Dette er testet på mysql. Her er år og måned funktion til at returnere år og måned for dato. Syntaks for CASE bør være ens på tværs af databasen.