[Php/Sql] Faire un classement avec des moyenn

Fermé
ReddInTheAbyss Messages postés 30 Date d'inscription vendredi 28 septembre 2012 Statut Membre Dernière intervention 5 février 2013 - 2 oct. 2012 à 08:13
asmaanoor Messages postés 73 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 20 janvier 2014 - 2 oct. 2012 à 16:16
Bonjour,

Je galère un peu sur un problème là...

En gros, j'ai une table SQL appelée 'AVIS', où j'enregistre les avis que les utilisateurs donnent sur tel ou tel produit.

Du coup dans ma table AVIS, il y a le champ 'ID_PRODUIT' qui permet d'identifier le produit, et le champ 'NOTE' qui va de 1 à 5 et qui donne... La note du produit.

J'essaye de faire un classement pour afficher les 3 produits dont la note moyenne est la plus haute... Mais j'ai vraiment aucune idée de comment faire.

Une petite aide, même juste un début de solution, serait bienvenue !

Merci, bonne journée.

A voir également:

2 réponses

Soulitude Messages postés 25 Date d'inscription lundi 1 octobre 2012 Statut Membre Dernière intervention 4 octobre 2012 7
2 oct. 2012 à 08:21
Salut,

Dans ta requête SQL, tu pourrais utiliser un order by desc pour les notes.
et utiliser limit 0, 3 quelque chose comme ça pour sélectionner les 3 produits.

Sans oublier les jointures pour rechercher aussi les informations que tu as besoin sur les autres tables.
0
ReddInTheAbyss Messages postés 30 Date d'inscription vendredi 28 septembre 2012 Statut Membre Dernière intervention 5 février 2013
2 oct. 2012 à 08:25
Okay merci, je vais essayer de voir tout ça !
0
ReddInTheAbyss Messages postés 30 Date d'inscription vendredi 28 septembre 2012 Statut Membre Dernière intervention 5 février 2013
2 oct. 2012 à 09:03
Bon, j'ai essayé... Rien de bien concluant.
J'ai l'impression que cette solution pourrait marcher si je voulais juste classer les notes et pas les moyennes de toutes les notes pour un produit.
0
Soulitude Messages postés 25 Date d'inscription lundi 1 octobre 2012 Statut Membre Dernière intervention 4 octobre 2012 7
2 oct. 2012 à 09:15
Pour compléter.. (désolé c'est le matin j'avais totalement zappé cette histoire de moyenne.)
Essaye avec une sous-interrogation et AVG qui calcule la moyenne.
0
asmaanoor Messages postés 73 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 20 janvier 2014 18
2 oct. 2012 à 16:16
SELECT id_produit, AVG( note ) max_note
FROM 'avis'
GROUP BY id_produit
ORDER BY max_note DESC
LIMIT 0 , 2
0