du kannst eine query (select) auch als column expression verwenden …
deine idee war schon richtig … nur du darfst sum nicht auf eine query anwenden (ich hoffe das stimmt :O)) … du musst die summe in der subquery selektieren … ich bezweifle aber, dass LIMIT in einer subquery erlaubt ist …
also so z.B.
select
feld 1,
(select sum(…) from table as t2 where t2.ref_id = t1.id) as summe,
feld 2
from table as t1
where…
edit. .
also das mit limit scheint tatsaechlich acuh in einer subquery erlaubt zu sein … nagut … nur wird wohl select sum(…) limit x nicht den effekt haben den du dir wuenschst …
doch limit kannst du immer anwenden auch in subqueries … nur dieses limit bringt dir nichts, weil das limit sich auf die ergebnismenge des sum /group by bezieht und nicht als WHERE bedinung zieht … du musst dir eine WHERE klausel einfallen lassen ueber die zu summierenden datensaetze …
Naja sowies aussieht funktioniert das nicht im Query.
Da muss ich mal wieder eine Funktion schreiben.
Die Idee mit WHERE hatte ich auch schon. Nur kann ich kein >= oder ähnliches anweden, weil ich genau die 3 höchsten brauche. Wenn z.B. das dritthöchste genauso groß ist wie das vierthöchste würde er dann die ersten 4 summieren.