limit und sum
makkie
- datenbank
Hi,
ich möchte gerne aus einer Tabelle die Werte einer Spalte aufsummieren. Hierbei möchte ich aber, dass er nur die letzten 10 Einträge mit einbezieht.
Dies habe ich folgendermaßen versucht:
SELECT * FROM rating WHERE id IN (SELECT id FROM rating ORDER BY time DESC LIMIT 0, 10)
Hier spuckt mir phpMyAdmin aber aus, dass ich ein LIMIT im Sub-Select nicht verwenden kann (This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'). Ich habe mySQL 5.
Eine Idee wäre noch das ganze über eine temporäre Tabelle zu lösen. Aber ich dachte mir ich frag mal nach, ob hier jemand eine bessere Idee hat :)
Gruss
makkie
habs raus :)
SELECT sum(test),COUNT(*)
FROM (SELECT *
FROM rating
ORDER BY time DESC LIMIT 0,2
) AS subselect
ok, nun habe ich doch noch ein Problem.
Und zwar möchte ich das ganze zusammen mit einem LEFT JOIN nutzen. Das SubQuery soll dann in der WHERE-Klausel sowas wie "WHERE id=tabelle.id" stehen haben. Jedoch sagt er mir logischerweise, dass er die tabelle nicht kennt.
Kann mir jemand helfen?
Gruss
makkie
yo,
Kann mir jemand helfen?
poste doch mal die abfrage mit dme LEFT JOIN, die nicht funktioniert.
Ilja