coincoins

SQL.LID - Les agrégats



Calculs simples, regroupements (count, sum, avg, min et max, GROUP BY et HAVING), les agrégats, quoi!

Effectuer des calculs dans SELECT ou WHERE
Calculs de TVA, calculs de date, etc. ... tout pour plaire

Il est parfaitement possible de faire des calculs avec des champs, avant de les afficher ou de les utiliser dans des comparaisons.

Les opérateurs de calculs sont les opérateurs mathématiques classiques plus quelques fonctions qui permettent d'extraire des bouts de chaîne de caractères (subsrting) ou de date (year, month ou day).

Le plus simple est de voir quelques exemples.

QuestionRequête
1 Prix des articles Hors Taxes (HT) et Toutes Taxes Comprises (TTC = HT+20% <=> HT*1.20)

Remarquer que le calcul est renommé en 'prixTTCArt' avec 'AS'

SELECT refArt, prixHTArt, (prixHTArt * 1.2) AS prixTTCArt
FROM gc_article
2 Montant des lignes des articles de la commande 1 :
SELECT C.refArt, (prixHTArt * qty) AS montantHTArt
FROM gc_contenir C
     JOIN gc_article A ON C.refArt = A.refArt
3 Références articles dont le montant commandé dans la commande 3 est supérieur à 100€ :
SELECT C.numCde, C.refArt, A.prixHTArt
FROM gc_contenir C
     JOIN gc_article A ON C.refArt = A.refArt
WHERE A.prixHTArt * qty > 100
AND C.numCde = 3;
Requête 1

Fatal error: Call to a member function fetchAll() on boolean in /var/www/sda/2/4/fildevent/library/mysqlPDO.php on line 86