Hallo!
habe eine mysql abfrage, bei der mir der count wert falsch ausgegeben wird. evtl habe ich hier einen denkfehler. meine abfrage sieht folgendermaßen aus:
PHP-Code:
SELECT entrys_data.*,entrys_klicks.f, entrys_branchen.*,
branchen_data.*, bezirke_data.*, COUNT(entrys_klicks.f) AS
countklicks,entrys_data.id AS id, entrys_data.bildname AS bildname
FROM entrys_data LEFT JOIN entrys_branchen ON
entrys_branchen.id_entry = entrys_data.id LEFT JOIN branchen_data ON
entrys_branchen.id_branche = branchen_data.id LEFT JOIN entrys_klicks
ON entrys_klicks.id_entry = entrys_data.id LEFT JOIN bezirke_data ON
bezirke_data.plz = entrys_data.plz GROUP BY entrys_data.id ORDER BY
countklicks DESC LIMIT 0, 12
der countclicks wert ist die anzahl der einträge in der tabelle entry_klicks
wenn ich dies nun mit einer schleife ausgebe sollte er mir die einträge nach den klicks sotrieren.. funktioniert soweit bis auf das, dass einige einträge vom wert her verdoppelt bzw verdreifacht werden
ist hier das GROUP BY evtl falsch gesetzt oder stimmt was mit den verknüpfungen nicht? wenn ich zB bei GROUP BY schreibe "GROUP BY entrys_klicks.f, entrys_data.id" wert der wert sogar noch mehr vervielfacht und es werden weniger einträge ausgegeben.
mit dieser abfrage erhalte ich den richtigen wert:
PHP-Code:
$anzahl= @mysql_num_rows(@mysql_query("SELECT * FROM entrys_klicks WHERE f='$id'"));