Sélection basée sur des valeurs agrégées

Comment :

Référence :

Vous pouvez sélectionner les enregistrements selon la valeur ajoutée d'un champ. Par exemple, sur les valeurs de champ ajoutées, ou sur la moyenne des valeurs de champ, en utilisant la phrase WHERE TOTAL. WHERE TOTAL est très utile lorsque vous employez les commandes d'affichage agrégées SUM et COUNT, et est requis pour les champs avec un opérateur préfixe, tel que AVE. et PCT.

Dans les tests WHERE, les données sont évaluées avant qu'elles ne soient récupérées. Cependant, dans les tests WHERE TOTAL, les données sont sélectionnées après que toutes les données aient été récupérées et traitées. Pour voir un exemple, consultez Utiliser WHERE TOTAL dans la sélection d'enregistrements.


Haut de page

x
Syntaxe : Sélectionner des enregistrements avec WHERE TOTAL
WHERE TOTAL criteria[;]

où :

criteria
Sont les critères utilisés pour sélectionner les enregistrements à inclure dans le rapport. Les critères doivent être définis dans une expression valable qui évalue en tant que TRUE ou FALSE (c'est-à-dire, une expression booléenne). Les expressions sont décrites en détail à la rubrique Utilisation d'expressions. Les opérateurs pouvant être utilisés dans les expressions WHERE (y compris, IS et GT) sont décrites à la rubrique Opérateurs pris en charge avec les tests WHERE et IF.
;
est un point-virgule que vous pouvez insérer facultativement dans une requête pour en augmenter la lisibilité. Le point-virgule n'affecte pas le rapport.

Haut de page

x
Référence : Notes d'utilisation pour WHERE TOTAL


Exemple : Utiliser WHERE TOTAL dans la sélection d'enregistrements

L'exemple suivant additionne les salaires actuels par service.

TABLE FILE EMPLOYEE
SUM CURR_SAL
BY DEPARTMENT
END

La sortie est :

DEPARTMENT         CURR_SAL
----------         --------
MIS             $108,002.00
PRODUCTION      $114,282.00

Maintenant, ajoutez une phrase WHERE TOTAL à la requête afin de générer un rapport qui liste uniquement les services où le total des salaires est supérieur à $110 000.

TABLE FILE EMPLOYEE
SUM CURR_SAL
BY DEPARTMENT
WHERE TOTAL CURR_SAL EXCEEDS 110000
END

Les valeurs de chaque service sont calculées, puis chaque valeur finale est comparée à $110 000. La sortie est :

DEPARTMENT         CURR_SAL
----------         --------
PRODUCTION      $114,282.00


Exemple : Combinaison de WHERE TOTAL et WHERE dans la sélection d'enregistrements

La requête suivante extrait des enregistrements pour le service MIS. Puis, CURR_SAL est additionné pour chaque employé. Si le salaire total d'un employé est supérieur à $20 000, les valeurs de CURR_SAL sont alors traitées pour le rapport. Autrement dit, WHERE TOTAL interprète les données après la sélection d'enregistrements.

TABLE FILE EMPLOYEE
SUM CURR_SAL
BY LAST_NAME AND BY FIRST_NAME
WHERE TOTAL CURR_SAL EXCEEDS 20000
WHERE DEPARTMENT IS 'MIS'
END

La sortie est :

LAST_NAME        FIRST_NAME         CURR_SAL
---------        ----------         --------
BLACKWOOD        ROSEMARIE        $21,780.00
CROSS            BARBARA          $27,062.00

WebFOCUS