Toute l'actualité de [self-access.com] en direct sur votre ordinateur !  Vous êtes ici : Accueil » Access » SQL » Count, Min, Max...Connexion
 


Dans cet article... 
  • Les fonctions de calcul
  • Syntaxe
  • Explications
  •  Article mis à jour le 07/02/2009

    Les fonctions de calcul

    En SQL, vous disposez d'un certain nombre de fonctions pour effectuer des calculs. Associées à la clause WHERE, ces fonctions travaillent sur une partie de la table seulement, par critères.

    Les fonctions de calcul sont similaires aux fonctions de regroupement dans une requête classique. On retrouve donc :


    Fonction Description
    Count Pour effectuer des décomptes
    Sum et Avg Pour effectuer des sommes et des moyennes
    Min et Max Pour calculer un minimum, un maximum.
    Var, VarP, StDev et StDevP Pour effectuer les calculs statistiques de base (variance, écart-type). Ces fonctions ne sont pas traitées ici, mais sont disponibles dans l'aide en ligne d'Access.

    Vers le haut

    Syntaxe

    Si votre base de données comporte 2 tables nommées tblClients et tblProduits :

    SELECT Count(Téléphone) AS NbTel FROM tblClients;
    SELECT Count([Numéro de téléphone]) AS NbTel FROM tblClients;
    SELECT Count(Téléphone) AS NbTel FROM tblClients WHERE [Nom Client] LIKE "A*";
    SELECT Count(*) AS NbClients FROM tblClients;
    
    SELECT Avg(Prix) AS PrixMoy FROM tblProduits WHERE Catégorie="Hifi";
    SELECT Max(Prix) AS PrixMax FROM tblProduits WHERE Catégorie="Alimentaire";
    SELECT Min(Prix) AS PrixMin FROM tblProduits WHERE Catégorie="Alimentaire";
    

    Vers le haut

    Explications

    SELECT Count(Téléphone) AS NbTel FROM tblClients;

    Cette ligne permet de compter les clients qui ont un numéro de téléphone.
    • Notez que l'on doit passer par une instruction SELECT pour faire le décompte (dans la logique SQL, on sélectionne le décompte des numéros de téléphone).
    • Notez aussi qu'on met en application le mot-clef AS, qui permet de donner un nom (NbTel) au calcul, ce qui facilitera son exploitation par la suite (en ASP par exemple). Le AS n'est pas obligatoire, mais fortement conseillé !
    • Notez enfin que, contrairement aux SELECT classiques qui produisent souvent plusieurs lignes de résultat, on n'obtient ici qu'une seule ligne (et une seule colonne d'ailleurs) : le nombre de clients concernés.
     
    SELECT Count([Numéro de téléphone]) AS NbTel FROM tblClients;

    Le calcul est identique à celui plus haut. Ici, comme le nom de champ comporte des espaces, on l'a entouré de crochets.
     
    SELECT Count(Téléphone) AS NbTel FROM tblClients WHERE [Nom Client] LIKE "A*";

    Plus acrobatique : on calcule le nombre de clients dont le nom démarre par un A, et qui ont un numéro de téléphone dans la table.
     
    SELECT Count(*) AS NbClients FROM tblClients;

    Simple et pratique : on calcule le nombre de clients. Le résultat s'appellera NbClients, grâce au AS.
     
    SELECT Avg(Prix) AS PrixMoy FROM tblProduits WHERE Catégorie="Hifi";

    Cette ligne calcule la moyenne des prix, pour tous les produits de la catégorie Hifi.
    Le résultat sera nommé PrixMoy.
     
    SELECT Max(Prix) AS PrixMax FROM tblProduits WHERE Catégorie="Alimentaire";

    Une formalité maintenant ! On calcule le prix maximum dans la catégorie Alimentaire.
     
    SELECT Min(Prix) AS PrixMin FROM tblProduits WHERE Catégorie="Alimentaire";

    Et enfin : le prix minimum pour la catégorie Alimentaire.

    Vers le haut


    Mes livres sur Access...
    [cliquez pour plus d'infos]





    Hit-Parade 
     
    [ Copyright 1997-2018 hervé inisan, self-access.com Reproduction interdite ]