Tach!
SELECT count(*) AS anzahl FROM games_player WHERE id_player='$abfrage_treffer_von_erster_abfrage->id'
Ein SELECT count() dürfte ohne GROUP BY einen Fehler verursachen.
Nein, macht es nicht.
gruppierst die Datensätze nach Person und zählst sie pro Person:
SELECT
...
,count(*) AS treffer
FROM games_player
LEFT JOIN games
ON games.player_id = games_player.id
GROUP BY games_player.id
ORDER BY treffer DESC
Und dann fangen die Probleme an. Unter MySQL ist es möglich, auch nach Feldern zu selektieren, die nicht in der GROUP-BY-Klausel angegeben sind. (Aggregatfunktionen wie SUM() oder COUNT() gehen allerdings immer.) Andere DBMSe betrachten das als Fehler. Es ist nämlich nicht eindeutig, aus welchem der vielen Datensätze je Gruppe der Wert genommen werden soll. Das Ergebnis kann durchaus wie gewünscht ausfallen, muss es aber nicht.
Wenn man lediglich einen einzelnen Wert (auch berechnet) aus einer anderen Tabelle braucht, macht sich eine (correlated) Subquery einfacher als ein Join. Und man ist mit der Felderliste der ersten Tabelle flexibler.
dedlfix.