Habe es jetzt selbst rausgekriegt, geht so:
SELECT tab.id Teilnehmer, tab.Punkte
(SELECT COUNT(tab2.id)
FROM (SELECT t.id, COUNT(b.gewinner) AS Punkte,
FROM teilnehmer t
LEFT JOIN begegnungen b ON t.id = b.gewinner
GROUP BY t.id
) tab2
WHERE tab2.Punkte > tab.Punkte
) + 1 AS platzierung
FROM (SELECT t.id, COUNT(b.gewinner) AS Punkte
FROM teilnehmer t
LEFT JOIN begegnungen b ON t.id = b.gewinner
GROUP BY t.id
) tab
ORDER BY 2 DESC, 1
;
Ziemlicher Brummer, die Abfrage, so ne große hatte ich noch nie :-)
Laufzeit ist aber noch sehr in Ordnung.