Faire une sommes dans une requete

Viviane Tremblay -  
jisisv Messages postés 3678 Statut Modérateur -
J'ai fait une requête avec un champs pour la quantité commandé (commande client)
J'aimerais faire la somme de toutes les entrées pour la colonne quantité commandé.

Merci à l'avance

2 réponses

dugenou Messages postés 6262 Statut Contributeur 1 452
 
Bonsoir,

Je ne sais pas si ma méthode est la meilleure, mais c'est celle que j'utilise régulièrement :

Supposons que ton champ se nomme quantite, après ta requête

$rq =mysql_query ("SELECT * FROM  etc") 
}

mysql_close;

//tu déclares une variable

 $xquantite=0;

//puis après 

while ($ligne=mysql_fetch_object($rq))

{

$xquantite=$xquantite+$ligne->quantite;

//tu crées ta colonne

echo"$ligne->quantite";

}

//puis tu affiches le total

echo"$xquantite";


J'espère avoir été assez clair.

Bon courage.
0
jisisv Messages postés 3678 Statut Modérateur 935
 
Il existe un opérateur de sommation dans la plupart des bases de données:
mysql> create table brol (i float);
Query OK, 0 rows affected (0.00 sec)

mysql> insert into brol values(3.1415);
Query OK, 1 row affected (0.00 sec)

mysql> insert into brol values(2.7182);
Query OK, 1 row affected (0.00 sec)

mysql> insert into brol values(1.4142);
Query OK, 1 row affected (0.00 sec)

mysql> select sum(i) from brol;
+-----------------+
| sum(i)          |
+-----------------+
| 7.2738999128342 |
+-----------------+
1 row in set (0.00 sec)

Plus généralement
mysql> create table brol (i float, qty float);
Query OK, 0 rows affected (0.00 sec)

mysql> insert into brol values(2.7182, 1);
Query OK, 1 row affected (0.01 sec)

mysql> insert into brol values(1.4142, 2);
Query OK, 1 row affected (0.01 sec)

mysql> select sum(i *qty) from brol;
+-----------------+
| sum(i *qty)     |
+-----------------+
| 5.5465998649597 |
+-----------------+
1 row in set (0.00 sec)
0