Les exemples sont à traiter avec le SLD du cas GESNOTES (Chap 5) et de la base de données Access GESNOTES.MDB)
Les opérateurs de calcul permettent de faire des calculs sur un groupe d’enregistrements
L’opération de regroupement permet, comme son nom l’indique de regrouper les lignes identiques en une seule. Le regroupement s’utilise toujours en complément avec une opération de calcul
En SQL, le regroupement se traduit par la clause GROUP BY
Formalisme : R2=CUMUL(R1,Attribut2,attribut1)
L’opération CUMUL effectue la somme des valeurs de l'attribut1 ayant une même valeur d'attribut2 en commun
Exemple :
On veut obtenir le total des notes regroupé par code épreuve
Résultat à obtenir
Code épreuve |
TotalDesNotes |
1 |
163 |
2 |
276 |
3 |
259 |
4 |
153 |
5 |
208 |
6 |
242 |
7 |
171 |
Par tableau
RELATION |
OPERATEURS |
CONDITION |
RELATION RESULTAT |
NOTATION |
|
|
R40(Codeépreuve, TotalDesNotes :cumul([Note]) |
En SQL
SELECT Codeépreuve, SUM (Note) AS TotalDesNotes
FROM NOTATION
GROUP BY Codeépreuve;
formalisme : R2 = COMPTE(R1,Attribut) : compte les occurences qui ont la même valeur d'attribut en commun (cette opération compte en fait le nombre de lignes) :
Application :
On désire connaître le nombre de candidats inscrits par établissement
Résultat à obtenir :
Code étab |
Effectif par lycée |
230 |
2 |
235 |
5 |
330 |
7 |
350 |
5 |
430 |
5 |
435 |
1 |
Par tableau
RELATION |
OPERATEURS |
CONDITION |
RELATION RESULTAT |
CANDIDAT |
REGROUPEMENT |
|
R41(Codeétab, [Effectif par lycée ]: Compte([NumCand]) |
En SQL
SELECT Codeétab,
COUNT (NumCandidat) AS [Effectif
par lycée]
FROM CANDIDAT
GROUP BY Codeétab;
Ils s’utilisent de la même manière que les opérations cumuls et compte
|
Français |
SQL |
Valeur minimale d’un champ |
MIN |
MIN |
Valeur maximale d’un champ |
MAX |
MAX |
Moyenne d’un champ |
MOYENNE |
AVG |
Ecart type |
ECART TYPE |
STDEV |
Variance |
VAR |
VAR |
Première valeur |
PREMIER |
FIRST |
Dernière valeur |
DERNIER |
LAST |
APPLICATIONS :
On voudrait obtenir les statistiques suivantes (regroupées par code épreuve)
Code épreuve |
MoyenneDeNote |
MinDeNote |
MaxDeNote |
ÉcartTypeDeNote |
1 |
7.76190476190476 |
0 |
20 |
6.34747793934537 |
2 |
13.1428571428571 |
2 |
20 |
5.78174466995659 |
3 |
12.3333333333333 |
3 |
20 |
5.26624470883507 |
4 |
7.28571428571429 |
0 |
17 |
6.03442505250382 |
5 |
9.90476190476191 |
0 |
19 |
6.90582914576347 |
6 |
11.5238095238095 |
0 |
20 |
6.88199860228878 |
7 |
8.14285714285714 |
0 |
20 |
5.66820707354375 |
Sur ACCESS vous définirez un format numérique à 2 décimales
SELECT Codeépreuve,
AVG(Note)
AS MoyenneDeNote,
MIN(Note)
AS MinimumDeNote,
MAX(Note) AS MaxDeNote,
STDEV(NOTE) AS EcartTypeDeNote
FROM NOTATION
GROUP BY Codeépreuve;