Gerd H.: MYSQL Abfrage Fehler?

Beitrag lesen

Woher weisst Du eigentlich welchen Wert Du erhalten solltest?
Ansonsten mal die Abfrage mit einem JOIN und kompletter GROUP BY-Klausel optimieren, zudem einfach mal die Bedeutung der Datenfelder und die genaue Zeilsetzung beschreiben.

Weil ich in p_view nur einen Datensatz habe und in dem Feld views 150000 steht. Deswegen müsste da auch nciht 300000 als Ergebnis augegeben werden.

Also hier meine aktuelle Abfrage komplett und nicht vereinfacht:

  
SELECT p.id, p.domain, r.link  
FROM partners p  
LEFT JOIN p_rechnung r ON p.id=r.partner_id  
LEFT JOIN p_view v ON p.id=v.partner_id  
WHERE r.status = '1'  
AND r.typ = '1'  
GROUP BY p.id  
HAVING SUM( r.anzahl ) > SUM(COALESCE(v.views))/COUNT( r.anzahl )  
ORDER BY RAND()  
LIMIT 1  

Ich möchte einen Datensatz haben bei dem die Summe von r.anzahl größer als die Summe der views ist.