Salve a tutti

Sto cercando di ottenere con una query i dati di una tabella e alcuni count su altre tabelle. Eccola qui:

codice:
	SELECT
		gs_groups.*,
		UNIX_TIMESTAMP(gs_groups.created_on) AS created_on_ts,
		UNIX_TIMESTAMP(gs_groups.expires_on) AS expires_on_ts,
		PERIOD_DIFF(gs_groups.expires_on, NOW()) AS remaining_ts,
		gs_categories.name AS category_name,
		COUNT(gs_subscriptions.id) AS subscriptions_count,
		COUNT(gs_offers.id) AS offers_count,
		COUNT(gs_comments.id) AS comments_count
	FROM
		gs_groups
		LEFT JOIN
		gs_categories
			ON gs_categories.id = gs_groups.category_id
		LEFT JOIN
		gs_subscriptions
			ON gs_subscriptions.group_id = gs_groups.id
		LEFT JOIN
		gs_offers
			ON gs_offers.group_id = gs_groups.id
		LEFT JOIN
		gs_comments
			ON gs_comments.group_id = gs_groups.id
	WHERE
		gs_groups.id = XX
	GROUP BY
		gs_groups.id
Il problema è che il conto di comments e subscriptions mi risulta errato. C'è qualche errore nei join?

Grazie infinite!