SELECT
fname,
MONTH(eventDate),
SUM(IF(WEEKDAY(eventDate) < 5,1,0)) AS WeekdayCount,
SUM(IF(WEEKDAY(eventDate) >= 5,1,0)) AS WeekendCount
FROM eventcal AS e
LEFT JOIN users AS u ON e.primary = u.username
GROUP BY fname, MONTH(eventDate);
Du vill göra dina aggregationer (SUMMA i det här fallet) i SELECT, och GRUPPERA EFTER hur du vill att de summeras (efter fname, per MONTH).