Aller au contenu

Requete SQL avec somme et tri des résultas


Sujets conseillés

Posté

Bonjour,

J'ai une base de données avec des clients (table clients) et des commandes (table commandes).

Chaque commande est relié à un id de client. Et un client peut avoir plusieurs commandes.

J'aimerais trié les clients selon leurs commandes totales.

Mais je ne sais pas quelle méthode utiliser. Auriez vous un début de piste ?

Je sais lister les clients et calculer leurs commandes totales mais pas triés selon ce montant total.

Merci par avance.

Posté

Bonjour,

Un petit ORDER BY SUM(montant_commande) DESC a la fin de ta requete devrait faire l'affaire (Pour trier de la plus grosse commande a la plus petite).

Mais si tu dis que tu arrives a avoir les clients et leurs commandes totales tu as juste a faire un ORDER BY (commandes_totales) DESC.

Posté (modifié)

ouh la je ne pensais pas que ça pouvait etre aussi simple. je teste ça immédiatement et je reviens vers vous.

Merci pour votre réponse.

EDIT : plus compliqué que prévu ;-)

Voila ce que j'ai fait :

<?PHP
$sql = "SELECT * FROM clients ORDER BY (SELECT sum(prix_total) FROM commandes) ASC";
$sql = mysql_query($sql) or die (mysql_error());
while($result=mysql_fetch_array($sql))
{
echo "$result[id] - $result[nom] $result[prenom] - CA : €<br>";
}
?>

Suis je bien parti ou pas ?

Merci

Modifié par aodot
Posté

Voila après quelques recherche a quoi j'arrive mais ça marche toujours pas...

<?PHP
$sql = "SELECT * + (SELECT SUM(prix_total) FROM commandes WHERE id_client = t1.id ) AS tot_comm FROM clients t1 ORDER BY tot_comm DESC";
$sql = mysql_query($sql) or die (mysql_error());
while($result=mysql_fetch_array($sql))
{
echo "$result[id] - $result[nom] $result[prenom] - CA : $result[tot_comm] €<br>";
}
?>

Posté

Select SUM(prix_Total) as Total, Nom, Prenom, ID from clients Group By Nom, Prenom, ID order by Total

Mais si le champ "ID" est unique, cela ne marchera pas. Il faudra l'enlever

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...