globe: Umschreiben eines Subquerys?

Beitrag lesen

n'abend,

Hab übrigens auf MySQL 5 aufgerüstet und bekomme folgendes:

MySQL meldet:

This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'

Tja, das ist der alt-bekannte Hut. MySQL kann die Ergebnismenge einer SubQuery (aus welchen Gründen auch immer) nicht LIMITieren. Zugegebenermaßen stellt das (zumindest für mich) ein ziemliches Problem dar. Ich habe zwar eine Lösung, bin mir aber ziemlich sicher, dass es nicht die schönste ist:

SELECT b.SpielerID, b.Ampelfarbe, COUNT(*) as Gewicht  
FROM (  
  SELECT SpielerID  
  FROM tabelle_Bewertungen  
  GROUP BY SpielerID  
  ORDER BY COUNT(*) DESC  
  LIMIT 1  
) as t  
JOIN tabelle_Bewertungen b  
  ON ( b.SpielerID = t.SpielerID )  
GROUP BY b.SpielerID, b.Ampelfarbe

In SubQueries können wir kein LIMIT benutzen, in "Relationen-Queries" hingegen schon. Wir suchen also den einen Benutzer mit den meisten Bewertungen, damit wir mit der SpielerID wieder auf die Bewertungen zugreifen können, um die Gewichte der Ampelfarben zu ermitteln.

weiterhin schönen abend...

--
#selfhtml hat ein Forum?
sh:( fo:# ch:# rl:| br:> n4:& ie:{ mo:} va:) de:] zu:} fl:( ss:? ls:[ js:|