Richtige Lösung:
Code:
SELECT mitglieder.werber, COUNT(DISTINCT mitglieder.id) AS menge, COUNT(teilnahmen.id) AS teilnahmen FROM
mitglieder
LEFT JOIN teilnahmen ON teilnahmen.uid=mitglieder.id AND teilnahmen.zeit >= '.$start.' AND teilnahmen.zeit <= '.$ende.'
WHERE mitglieder.status="aktiv" AND mitglieder.werber > 0 AND mitglieder.registrierung >= '.$start.' AND mitglieder.registrierung <= '.$ende.'
GROUP BY teilnahmen.uid, mitglieder.werber
HAVING teilnahmen >= '.$min.'
ORDER BY menge DESC LIMIT 10
Einfach DISTINCT nutzen bei mitglieder.uid um doppelte zu filtern.