Ankündigung

Einklappen
Keine Ankündigung bisher.

AVG und COUNT mit LIMIT

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • SteiniKeule
    hat ein Thema erstellt AVG und COUNT mit LIMIT.

    AVG und COUNT mit LIMIT

    Hallo

    Ich suche die 5 besten Produkte. Mein Problem ist, dass es mehr als 5 Produkte mit gleicher Punktezahl geben kann. Dann würde ich gerne die Produkte nehmen, die am meisten Bewertungen haben.
    Also sortiert nach AVG(r.rating) und dann nach COUNT(r.rating).

    PHP-Code:
    SELECT 
    AVG
    (r.rating) as rating,
    COUNT(r.rating) as countSum,
    r.product_id,
    cp.company FROM review r  
    LEFT JOIN customer_profile cp ON
    (cp.customerId r.product_id)  
    WHERE r.status '1' 
    GROUP BY r.product_id 
    ORDER BY rating DESC 
    LIMIT 5 

  • erc
    antwortet
    Zitat von SteiniKeule Beitrag anzeigen
    Also sortiert nach AVG(r.rating) und dann nach COUNT(r.rating).
    Und warum schreibst du das nicht einfach in den Query?

    PHP-Code:
    ORDER BY AVG(r.ratingDESCCOUNT(r.ratingDESC 

    Einen Kommentar schreiben:


  • akretschmer
    antwortet
    Zitat von SteiniKeule Beitrag anzeigen
    Hallo

    Ich suche die 5 besten Produkte. Mein Problem ist, dass es mehr als 5 Produkte mit gleicher Punktezahl geben kann. Dann würde ich gerne die Produkte nehmen, die am meisten Bewertungen haben.
    Also sortiert nach AVG(r.rating) und dann nach COUNT(r.rating).

    PHP-Code:
    SELECT 
    AVG
    (r.rating) as rating,
    COUNT(r.rating) as countSum,
    r.product_id,
    cp.company FROM review r  
    LEFT JOIN customer_profile cp ON
    (cp.customerId r.product_id)  
    WHERE r.status '1' 
    GROUP BY r.product_id 
    ORDER BY rating DESC 
    LIMIT 5 
    Und? Das ist schon mal falsch, in Aggregationen MÜSSEN alle Spalten entweder aggregiert oder gruppiert werden.

    Einen Kommentar schreiben:

Lädt...
X