Ilja: MySQL - Rangfolge mit Mehrfachplatzierungen - zusatzfrage

Beitrag lesen

yo,

ausführe, oder habe ich einen Denkfehler?

du hast einen denkfehler, HAVING ist dein freund.

SELECT tab.id Teilnehmer, tab.Punkte,
      (SELECT COUNT(s.id)
        FROM teilnehmer t2
        LEFT JOIN begegnungen b2 ON t2.id = b2.gewinner
        HAVING COUNT(b2.gewinner) > tab.punkte
       ) + 1 AS platzierung
FROM (SELECT t.id, COUNT(b.gewinner) Punkte,
      FROM teilnehmer t
      LEFT JOIN begegnungen b ON t.id = b.gewinner
      GROUP BY t.id
     ) tab
ORDER BY 2 DESC, 1
;

Ilja