ChrisB: MySQL: Was bewirkt eine Unterabfrage in der ORDER BY Klausel?

Beitrag lesen

Hi,

SELECT id FROM db_articles
ORDER BY fixedrating DESC, (
  SELECT AVG(rating) FROM db_articles WHERE product_id=id
) DESC


>   
> Jetzt frage ich mich: Was bewirkt die Subquery (3. Zeile) überhaupt??  
  
Sie ermittelt mittels der Aggregatfunktion AVG() wohl die durchschnittliche Bewertung des Produktes.  
  

> Ich hab da gerade eine Weile herumprobiert, aber nie eine Auswirkung der Unterabfrage beobachten können :-(  
  
Zunaechst wird ja mal nach dem Feld fixedrating sortiert; erst wenn das bei zwei Produkten gleich ist, kommt der Durchschnitt des Feldes rating als zweites Sortierkriterium mit zum Zuge.  
  
MfG ChrisB  
  

-- 
„This is the author's opinion, not necessarily that of Starbucks.“