SQL: Obtenir nombre de lignes retournées par une jointure gauche

J'ai deux tables, l'une appelée calendriers et l'autre appelé événements. Il peut y avoir plusieurs calendriers à la fois, et plusieurs événements dans un calendrier. Je veux sélectionner tous les de calendrier, obtenant également le nombre d'événements dans le calendrier.

C'est ce que j'ai :

SELECT C.*, COUNT(*) AS events FROM `calendars` AS C 
    LEFT JOIN `events` E ON C.ID=E.calendar 
    GROUP BY C.ID

Mais qui ne fonctionne pas. Les éléments sans les événements de toujours retourner 1. Des idées?