Ich verstehe nicht, warum Sortierung nicht richtig funktioniert mit "ORDER BY Durchschnitt, Votes DESC", weil ich höchste Durchschnitt und Stimmen von oben nach unten gehen müssen, aber DESC hat nicht was gelöst. Mein Ergebnis in var_dump http://pastie.org/private/b05smuh0fvw72wwp2w1zq höchsten entrie ist in der Unterseite, aber ich muss von oben beginnen und nach unten gehen.SQL-Abfrage mit DESC funktioniert nicht richtig
SELECT c.*, r.votes, c.total_comments,
ROUND(sumrate/votes) AS average
FROM catalog c LEFT JOIN
(SELECT r.object_id, COUNT(*) as votes, SUM(r.rate) as sumrate
FROM ratings r
GROUP BY r.object_id
) r
ON r.object_id = c.catalog_id LEFT JOIN
(SELECT c.catalog_id, COUNT(*) as total_comments
FROM comments c
GROUP BY c.catalog_id
) c
ON c.catalog_id = c.catalog_id
GROUP BY c.catalog_id
ORDER BY average, votes DESC;
Nur ein Hinweis, dass GROUP BY ungültig ist und in neueren MySQL-Versionen nicht erlaubt ist. (Wenn eine GROUP BY-Klausel angegeben ist, muss jede Spaltenreferenz in der SELECT-Liste entweder eine Gruppierungsspalte identifizieren oder das Argument einer set-Funktion sein.) – jarlh
Was meinst du? ist diese kurze Tabelle Aliase in der Gruppierung? Kannst du ein Beispiel zeigen? – SkySonny