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)
Нямам наличен SQL сървър. Това е тествано на mysql. Тук годината и месецът са функция за връщане на годината и месеца от датата. Синтаксис на CASE трябва да е еднакъв в цялата база данни.