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

I.                   Le regroupement

 

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

 

II.                L’opération cumul (somme – en SQL : SUM)

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

 

 

Regroupement

 

R40(Codeépreuve, TotalDesNotes :cumul([Note])

 

En SQL

SELECT Codeépreuve,  SUM (Note) AS TotalDesNotes

FROM NOTATION

GROUP BY Codeépreuve;


III.              L’opération compte (en SQL : COUNT)

 

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;

 

 

IV.            Les autres opérateurs de calcul

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;