Moin Tutorials Teams !
Ich möchte alle User die eine 5 in (rating_1 bis rating_7) gemacht haben eine top list machen.
In der Tabelle stehen bewertungen ( habe sql dump im Dateianhang). Die sql soll von den bewerteten einträge ( rating_ids) alle einträge gleicher id zusammen fassen und dann eine Toplist machen , wo der meistbewertete oben steht. Quasi sollen die einträge von rating_ids ( 62 ) zusammengefasst werden. dann eine sortierung , wo rating_1=5 bis rating_7=5 am meisten vorkommt. Im Anhang ist mein Datenbank dump.
mein Sql statement :
Das soll rauskommen:
1. rating_ids (62) , (SUM( 5 * 5 ) = 25)
2. rating_ids (63) , (SUM( 3 * 5 ) = 15)
3. rating_ids (66) , (SUM( 1 * 5 ) = 5)
Bin für jeden Tipp dankbar. Greets Elementar
Ich möchte alle User die eine 5 in (rating_1 bis rating_7) gemacht haben eine top list machen.
In der Tabelle stehen bewertungen ( habe sql dump im Dateianhang). Die sql soll von den bewerteten einträge ( rating_ids) alle einträge gleicher id zusammen fassen und dann eine Toplist machen , wo der meistbewertete oben steht. Quasi sollen die einträge von rating_ids ( 62 ) zusammengefasst werden. dann eine sortierung , wo rating_1=5 bis rating_7=5 am meisten vorkommt. Im Anhang ist mein Datenbank dump.
mein Sql statement :
Code:
SELECT
rating_ids As id,
SUM(rating_1 + rating_2 + rating_3 + rating_4 + rating_5 + rating_6 + rating_7 ) AS summe,
COUNT(id)+1 AS anzahl
FROM #__dir_ratings_text
WHERE
(rating_1='5' OR rating_2='5' OR rating_3='5' OR rating_4='5' OR rating_5='5' OR rating_6='5' OR rating_7='5' )
AND status='1'
GROUP BY id
ORDER BY summe DESC
1. rating_ids (62) , (SUM( 5 * 5 ) = 25)
2. rating_ids (63) , (SUM( 3 * 5 ) = 15)
3. rating_ids (66) , (SUM( 1 * 5 ) = 5)
Bin für jeden Tipp dankbar. Greets Elementar