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)
Je n'ai pas de serveur SQL disponible. Ceci est testé sur mysql. Ici, l'année et le mois sont fonction pour renvoyer l'année et le mois de la date. Syntaxe de CASE devrait être le même dans la base de données.