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)
Tôi không có sẵn máy chủ SQL. Nó được thử nghiệm trên mysql. Ở đây, năm và tháng có chức năng trả về năm và tháng của ngày. Cú pháp của CASE phải giống nhau trên cơ sở dữ liệu.