Somme SQL avec condition. Fonctions d'agrégation SQL - SUM, MIN, MAX, AVG, COUNT. Paramètres ou arguments

Comment puis-je connaître le nombre de modèles de PC produits par un fournisseur particulier ? Comment déterminer le prix moyen des ordinateurs dotés du même Caractéristiques? Il est possible de répondre à ces questions et à bien d’autres liées à certaines informations statistiques en utilisant fonctions finales (agrégatives). La norme fournit les fonctions d'agrégation suivantes :

Toutes ces fonctions renvoient une valeur unique. Parallèlement, les fonctions COMPTE, MINIMUM Et MAXIMUM applicable à tout type de données, tandis que SOMME Et MOYENNE sont utilisés uniquement pour les champs numériques. Différence entre la fonction COMPTER(*) Et COMPTER(<имя поля>) est que le second ne prend pas en compte les valeurs NULL lors du calcul.

Exemple. Trouvez le prix minimum et maximum pour les ordinateurs personnels :

Exemple. Recherchez le nombre d'ordinateurs disponibles produits par le fabricant A :

Exemple. Si l'on s'intéresse au nombre de modèles différents produits par le fabricant A, alors la requête peut être formulée comme suit (en utilisant le fait que dans la table Produit chaque modèle est enregistré une fois) :

Exemple. Recherchez le nombre de modèles différents disponibles produits par le fabricant A. La requête est similaire à la précédente, dans laquelle il fallait déterminer le nombre total de modèles produits par le fabricant A. Ici, vous devez également trouver le nombre de modèles différents dans la table PC (c'est-à-dire celles disponibles à la vente).

Pour garantir que seules des valeurs uniques sont utilisées lors de l'obtention d'indicateurs statistiques, lorsque argument des fonctions d'agrégation peut être utilisé Paramètre DISTINCT. Un autre paramètre TOUS est la valeur par défaut et suppose que toutes les valeurs renvoyées dans la colonne sont comptées. Opérateur,

Si nous avons besoin d’obtenir le nombre de modèles de PC produits tout le monde fabricant, vous devrez utiliser Clause GROUPE PAR, suivant syntaxiquement OÙ clauses.

Clause GROUPE PAR

Clause GROUPE PAR utilisé pour définir des groupes de lignes de sortie pouvant être appliquées à fonctions d'agrégation (COUNT, MIN, MAX, AVG et SUM). Si cette clause est manquante et que des fonctions d'agrégation sont utilisées, alors toutes les colonnes dont les noms sont mentionnés dans SÉLECTIONNER, devrait être inclus dans fonctions d'agrégation, et ces fonctions seront appliquées à l'ensemble des lignes qui satisfont au prédicat de requête. Sinon, toutes les colonnes de la liste SELECT non inclus dans les fonctions d'agrégation, il faut préciser dans la clause GROUP BY. En conséquence, toutes les lignes de requête de sortie sont divisées en groupes caractérisés par les mêmes combinaisons de valeurs dans ces colonnes. Après cela, des fonctions d'agrégation seront appliquées à chaque groupe. Veuillez noter que pour GROUP BY, toutes les valeurs NULL sont traitées comme égales, c'est-à-dire lors du regroupement par un champ contenant des valeurs NULL, toutes ces lignes tomberont dans un seul groupe.
Si s'il y a une clause GROUP BY, dans la clause SELECT pas de fonctions d'agrégation, la requête renverra simplement une ligne de chaque groupe. Cette fonctionnalité, ainsi que le mot-clé DISTINCT, peuvent être utilisés pour éliminer les lignes en double dans un jeu de résultats.
Regardons un exemple simple :
SELECT modèle, COUNT (modèle) AS Qty_model, AVG (prix) AS Avg_price
À PARTIR DU PC
Modèle GROUPE PAR ;

Dans cette demande, pour chaque modèle de PC, leur nombre et leur coût moyen sont déterminés. Toutes les lignes avec la même valeur de modèle forment un groupe et la sortie de SELECT calcule le nombre de valeurs et les valeurs de prix moyennes pour chaque groupe. Le résultat de la requête sera le tableau suivant :
modèle Qté_modèle Prix_moy.
1121 3 850.0
1232 4 425.0
1233 3 843.33333333333337
1260 1 350.0

Si le SELECT avait une colonne de date, il serait alors possible de calculer ces indicateurs pour chaque date spécifique. Pour ce faire, vous devez ajouter la date en tant que colonne de regroupement, puis les fonctions d'agrégation seront calculées pour chaque combinaison de valeurs (modèle-date).

Il existe plusieurs spécifiques règles pour exécuter des fonctions d'agrégation:

  • Si à la suite de la demande aucune ligne reçue(ou plus d'une ligne pour un groupe donné), alors il n'y a aucune donnée source pour calculer l'une des fonctions d'agrégation. Dans ce cas, le résultat des fonctions COUNT sera nul et le résultat de toutes les autres fonctions sera NULL.
  • Argument fonction d'agrégation ne peut pas lui-même contenir des fonctions d'agrégation(fonction à partir de la fonction). Ceux. dans une requête, il est impossible, par exemple, d'obtenir le maximum de valeurs moyennes.
  • Le résultat de l'exécution de la fonction COUNT est entier(ENTIER). D'autres fonctions d'agrégation héritent des types de données des valeurs qu'elles traitent.
  • Si la fonction SOMME produit un résultat supérieur à la valeur maximale du type de données utilisé, erreur.

Ainsi, si la demande ne contient pas Clause GROUPE PAR, Que fonctions d'agrégation inclus dans Clause SELECT, sont exécutés sur toutes les lignes de requête résultantes. Si la demande contient Clause GROUPE PAR, chaque ensemble de lignes qui a les mêmes valeurs d'une colonne ou d'un groupe de colonnes spécifié dans Clause GROUPE PAR, constitue un groupe, et fonctions d'agrégation sont effectués pour chaque groupe séparément.

AVOIR une offre

Si Clause OÙ définit un prédicat pour filtrer les lignes, puis AVOIR une offre s'applique après le regroupement pour définir un prédicat similaire qui filtre les groupes par valeurs fonctions d'agrégation. Cette clause est nécessaire pour valider les valeurs obtenues en utilisant fonction d'agrégation pas à partir de lignes individuelles de la source d'enregistrement définie dans Clause DE, et de groupes de telles lignes. Un tel contrôle ne peut donc pas être contenu dans Clause OÙ.

La fonction SOMME du langage SQL, malgré sa simplicité, est assez souvent utilisée lorsqu'on travaille avec une base de données. Avec son aide, il est pratique d'obtenir des résultats intermédiaires ou finaux sans recourir à l'aide d'outils SGBD auxiliaires.

Syntaxe de la fonction

En majorité Langages SQL la syntaxe de sum est la même - seul le nom du champ ou une opération arithmétique de plusieurs d'entre eux est utilisé comme argument pour lequel la somme est requise.

Dans des cas exceptionnels, il est possible de transmettre une valeur spécifique sous forme de nombre ou de variable, mais de tels « schémas » ne sont pratiquement pas utilisés, car ils n'ont pas beaucoup de valeur. Vous trouverez ci-dessous la syntaxe des fonctions en SQL :

sum(a) - ici une valeur ou une expression numérique est utilisée comme paramètre a

Il convient de noter qu'avant le paramètre, vous pouvez définir des mots-clés, par exemple DISTINCT ou ALL, qui prendront respectivement uniquement des valeurs uniques ou toutes.

Exemple d'utilisation de SUM en SQL

Pour bien comprendre le fonctionnement de la fonction, il convient de considérer plusieurs exemples. En SQL, SUM peut être utilisé à la fois comme résultat de retour et comme valeur intermédiaire, par exemple pour tester une condition.

Pour le premier cas, envisagez l'option lorsque vous devez restituer le montant des ventes pour chaque produit, en tenant compte du fait que le nombre d'achats effectués peut être au pluriel. Pour obtenir le résultat, il suffira de lancer la requête suivante :

SELECT Produit, somme (PurchaseAmount) FROM Sales GroupBy Product ;

En réponse à cette commande il y aura une liste unique de produits avec le montant total de l'achat pour chacun d'eux.

Pour le deuxième exemple, vous devez obtenir une liste de produits dont le montant des ventes a dépassé une certaine valeur, par exemple 100. Vous pouvez obtenir le résultat de cette tâche de plusieurs manières, la plus optimale étant d'exécuter une requête :

SELECT Produit FROM (SELECT Produit, somme (Montant de l'achat) comme Montant FROM Ventes) OÙ Somme > 100.

SQL - Leçon 11. Fonctions totales, colonnes calculées et vues

Les fonctions totales sont également appelées fonctions statistiques, d'agrégation ou de somme. Ces fonctions traitent un ensemble de chaînes pour compter et renvoyer une valeur unique. Il n'existe que cinq fonctions de ce type :
  • La fonction AVG() renvoie la valeur moyenne d'une colonne.

  • La fonction COUNT() renvoie le nombre de lignes dans une colonne.

  • La fonction MAX() renvoie la plus grande valeur dans une colonne.

  • La fonction MIN() renvoie la plus petite valeur de la colonne.

  • SUM() La fonction renvoie la somme des valeurs des colonnes.

Nous en avons déjà rencontré un - COUNT() - dans la leçon 8. Maintenant, rencontrons les autres. Disons que nous voulions connaître le prix minimum, maximum et moyen des livres dans notre magasin. Ensuite, à partir du tableau des prix, vous devez prendre les valeurs minimales, maximales et moyennes pour la colonne des prix. La demande est simple :

SELECT MIN(prix), MAX(prix), AVG(prix) FROM prix ;

Maintenant, nous voulons savoir combien de marchandises nous ont été apportées par le fournisseur "House of Printing" (id=2). Faire une telle demande n’est pas si simple. Réfléchissons à comment le composer :

1. Tout d'abord, dans la table Fournitures (entrantes), sélectionnez les identifiants (id_incoming) des livraisons qui ont été effectuées par le fournisseur « Print House » (id=2) :

2. Maintenant, dans la table Supply Journal (magazine_incoming), vous devez sélectionner les marchandises (id_product) et leurs quantités (quantity), qui ont été effectuées dans les livraisons trouvées au point 1. Autrement dit, la requête du point 1 devient imbriquée :

3. Nous devons maintenant ajouter au tableau résultant les prix des produits trouvés, qui sont stockés dans le tableau Prix. Autrement dit, nous devrons joindre les tables Supply Magazine (magazine_incoming) et Prices en utilisant la colonne id_product :

4. Le tableau résultant manque clairement de colonne Montant, c'est-à-dire colonne calculée. La possibilité de créer de telles colonnes est fournie dans MySQL. Pour cela, il suffit de préciser dans la requête le nom de la colonne calculée et ce qu'elle doit calculer. Dans notre exemple, une telle colonne s’appellera summa et calculera le produit des colonnes quantité et prix. Le nom de la nouvelle colonne est séparé par le mot AS :

SELECT magazine_incoming.id_product, magazine_incoming.quantity, prix.price, magazine_incoming.quantity*prices.price AS summa FROM magazine_incoming, prix OÙ magazine_incoming.id_product=prices.id_product AND id_incoming= (SELECT id_incoming FROM incoming WHERE id_vendor=2);

5. Super, tout ce que nous avons à faire est d'additionner la colonne somme et enfin de découvrir pour combien le fournisseur « House of Printing » nous a apporté la marchandise. La syntaxe d'utilisation de la fonction SUM() est la suivante :

SELECT SUM(nom_colonne) FROM nom_table ;

Nous connaissons le nom de la colonne - summa, mais nous n'avons pas le nom de la table, puisqu'elle est le résultat d'une requête. Ce qu'il faut faire? Pour de tels cas, MySQL dispose de vues. Une vue est une requête de sélection qui reçoit un nom unique et peut être stockée dans une base de données pour une utilisation ultérieure.

La syntaxe de création d'une vue est la suivante :

Demande CREATE VIEW view_name AS ;

Sauvegardons notre requête sous une vue nommée report_vendor :

CREATE VIEW report_vendor AS SELECT magazine_incoming.id_product, magazine_incoming.quantity, price.price, magazine_incoming.quantity*prices.price AS summa FROM magazine_incoming, prix WHERE magazine_incoming.id_product= price.id_product AND id_incoming= (SELECT id_incoming FROM incoming WHERE id_vendor=2 );

6. Vous pouvez maintenant utiliser la fonction finale SUM() :

SELECT SUM(summa) FROM report_vendor ;

Nous avons donc obtenu le résultat, même si pour cela nous avons dû utiliser des requêtes imbriquées, des jointures, des colonnes calculées et des vues. Oui, il faut parfois réfléchir pour obtenir un résultat, sans cela on ne peut arriver à rien. Mais nous avons abordé deux sujets très importants : les colonnes calculées et les vues. Parlons-en plus en détail.

Champs calculés (colonnes)

À l’aide d’un exemple, nous avons examiné aujourd’hui un champ calculé mathématiquement. Ici, je voudrais ajouter que vous pouvez utiliser non seulement l'opération de multiplication (*), mais également la soustraction (-), l'addition (+) et la division (/). La syntaxe est la suivante :

SELECT nom_colonne 1, nom_colonne 2, nom_colonne 1 * nom_colonne 2 AS nom_colonne calculé FROM nom_table ;

La deuxième nuance est le mot-clé AS, nous l'avons utilisé pour définir le nom de la colonne calculée. En fait, ce mot-clé est utilisé pour définir des alias pour n'importe quelle colonne. Pourquoi est-ce nécessaire ? Pour la réduction et la lisibilité du code. Par exemple, notre vue pourrait ressembler à ceci :

CREATE VIEW report_vendor AS SELECT A.id_product, A.quantity, B.price, A.quantity*B.price AS summa FROM magazine_incoming AS A, prix AS B WHERE A.id_product= B.id_product AND id_incoming= (SELECT id_incoming FROM incoming OÙ id_vendor=2);

Convenez que c'est beaucoup plus court et plus clair.

Représentation

Nous avons déjà examiné la syntaxe de création de vues. Une fois les vues créées, elles peuvent être utilisées de la même manière que les tableaux. Autrement dit, exécutez des requêtes sur eux, filtrez et triez les données et combinez certaines vues avec d'autres. D'une part, il s'agit d'un moyen très pratique de stocker les fichiers fréquemment utilisés. requêtes complexes(comme dans notre exemple).

Mais rappelez-vous que les vues ne sont pas des tables, c'est-à-dire qu'elles ne stockent pas de données, mais les récupèrent uniquement à partir d'autres tables. Ainsi, premièrement, lorsque les données des tableaux changent, les résultats de la présentation changent également. Et deuxièmement, lorsqu'une demande est adressée à une vue, les données requises sont recherchées, c'est-à-dire que les performances du SGBD sont réduites. Il ne faut donc pas en abuser.

En cela cahier de texte vous apprendrez à utiliser Fonction SOMME V serveur SQL(Transact-SQL) avec syntaxe et exemples.

Description

Dans SQL Server (Transact-SQL) Fonction SOMME renvoie la valeur totale d'une expression.

Syntaxe

La syntaxe de la fonction SUM dans SQL Server (Transact-SQL) est la suivante :

OU la syntaxe de la fonction SOMME lors du regroupement des résultats par une ou plusieurs colonnes est :

Paramètres ou arguments

expression1 , expression2 , ... expression_n sont des expressions qui ne sont pas incluses dans la fonction SUM et doivent être incluses dans la clause GROUP BY à la fin de l'instruction SQL.
gregate_expression est la colonne ou l'expression qui sera agrégée.
tables - tables à partir desquelles vous souhaitez obtenir des enregistrements. Il doit y avoir au moins une table répertoriée dans la clause FROM.
Conditions OÙ - facultatives. Ce sont les conditions qui doivent être remplies pour les enregistrements sélectionnés.

Application

La fonction SUM peut être utilisée dans les versions suivantes de SQL Server (Transact-SQL) :
SQL Server vNext, SQL Server 2016, SQL Server 2015, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005

Exemple avec un champ

Examinons quelques exemples de fonctions SUM de SQL Server pour comprendre comment utiliser la fonction SUM dans SQL Server (Transact-SQL).

Par exemple, vous pouvez connaître la quantité totale de tous les produits dont la quantité est supérieure à 10.

Dans cet exemple de fonction SUM, nous avons alias l'expression SUM(quantity) « Total Quantity ». Lors du renvoi d'un ensemble de résultats, « Quantité totale » apparaîtra comme nom de champ.

Exemple d'utilisation de DISTINCT

Vous pouvez utiliser l'opérateur DISTINCT dans la fonction SUM. Par exemple celui ci-dessous Instruction SQL renvoie le salaire total avec des valeurs de salaire uniques où le salaire est inférieur à 29 000 $ par an.

Si les deux salaires étaient de 24 000 $ par an, une seule de ces valeurs serait utilisée dans la fonction SOMME.

Exemple d'utilisation de la formule

L'expression contenue dans la fonction SOMME ne doit pas nécessairement être un champ unique. Vous pouvez également utiliser la formule. Par exemple, vous pouvez calculer la commission totale.

Transact-SQL

SELECT SUM(ventes * 0,03) AS "Commission totale" FROM commandes ;

SELECT SUM (ventes * 0,03) AS "Commission totale"

DE commandes ;

Exemple d'utilisation de GROUP BY

Dans certains cas, vous devrez utiliser l'opérateur GROUP BY avec la fonction SUM.

Apprenons à résumer. Non, ce ne sont pas les résultats de l'étude de SQL, mais les résultats des valeurs des colonnes des tables de la base de données. Les fonctions d'agrégation SQL opèrent sur les valeurs d'une colonne pour produire une valeur résultante unique. Les fonctions d'agrégation SQL les plus couramment utilisées sont SUM, MIN, MAX, AVG et COUNT. Il faut distinguer deux cas d’utilisation de fonctions d’agrégation. Premièrement, les fonctions d'agrégation sont utilisées seules et renvoient une valeur résultante unique. Deuxièmement, les fonctions d'agrégation sont utilisées avec la clause SQL GROUP BY, c'est-à-dire le regroupement par champs (colonnes) pour obtenir les valeurs résultantes dans chaque groupe. Considérons d'abord les cas d'utilisation de fonctions d'agrégation sans regroupement.

Fonction SOMME SQL

La fonction SQL SUM renvoie la somme des valeurs dans une colonne de table de base de données. Il ne peut être appliqué qu'aux colonnes dont les valeurs sont des nombres. Requêtes SQL pour obtenir la somme résultante, commencez comme ceci :

SÉLECTIONNER SOMME (COLUMN_NAME)...

Cette expression est suivie de FROM (TABLE_NAME), puis une condition peut être spécifiée à l'aide de la clause WHERE. De plus, le nom de la colonne peut être précédé de DISTINCT, ce qui signifie que seul des valeurs uniques. Par défaut, toutes les valeurs sont prises en compte (pour cela vous pouvez spécifiquement spécifier non pas DISTINCT, mais ALL, mais le mot ALL n'est pas obligatoire).

Si vous souhaitez exécuter des requêtes de base de données de cette leçon sur MS SQL Server, mais que ce SGBD n'est pas installé sur votre ordinateur, vous pouvez l'installer en suivant les instructions disponibles sur ce lien. .

Nous allons d'abord travailler avec la base de données de l'entreprise - Company1. Le script pour créer cette base de données, ses tables et remplir les tables avec des données se trouve dans le fichier à ce lien .

Exemple 1. Il existe une base de données d'entreprise contenant des données sur ses divisions et ses employés. Le tableau Personnel comporte également une colonne contenant des données sur les salaires des employés. La sélection du tableau ressemble à ceci (pour agrandir l'image, cliquez dessus avec le bouton gauche de la souris) :

Pour obtenir la somme de tous les salaires, on utilise la requête suivante (sur MS SQL Server - avec la construction précédente USE company1;) :

SELECT SUM (Salaire) FROM Personnel

Cette requête renverra la valeur 287664.63.

Et maintenant . Dans les exercices, nous commençons déjà à compliquer les tâches, en les rapprochant de celles rencontrées dans la pratique.

Fonction SQLMIN

La fonction SQL MIN opère également sur les colonnes dont les valeurs sont des nombres et renvoie le minimum de toutes les valeurs de la colonne. Cette fonction a une syntaxe similaire à celle de la fonction SOMME.

Exemple 3. La base de données et la table sont les mêmes que dans l'exemple 1.

Il faut connaître le minimum salaires employés du service portant le numéro 42. Pour ce faire, écrivez la requête suivante (sur MS SQL Server - avec la construction précédente USE company1;) :

La requête renverra la valeur 10505,90.

Et encore exercice pour décision indépendante . Dans cet exercice et dans d’autres, vous aurez besoin non seulement de la table Staff, mais également de la table Org, contenant des données sur les divisions de l’entreprise :


Exemple 4. La table Org est ajoutée à la table Staff, contenant des données sur les services de l'entreprise. Imprimez le nombre minimum d'années travaillées par un employé dans un département situé à Boston.

Fonction SQL MAX

La fonction SQL MAX fonctionne de la même manière et a une syntaxe similaire, qui est utilisée lorsque vous devez déterminer la valeur maximale parmi toutes les valeurs d'une colonne.

Exemple 5.

Nous devons connaître le salaire maximum des employés du département numéro 42. Pour ce faire, écrivez la requête suivante (sur MS SQL Server - avec le préfixe USE company1;) :

La requête renverra la valeur 18352.80

C'est l'heure exercices pour une solution indépendante.

Exemple 6. Nous travaillons à nouveau avec deux tables - Staff et Org. Afficher le nom du département et la valeur maximale de la commission reçue par un employé du département appartenant au groupe de départements (Division) Est. Utiliser JOIN (rejoindre des tables) .

Fonction SQL AVG

Ce qui est indiqué concernant la syntaxe des fonctions décrites précédemment est également vrai pour la fonction SQL AVG. Cette fonction renvoie la moyenne de toutes les valeurs d'une colonne.

Exemple 7. La base de données et la table sont les mêmes que dans les exemples précédents.

Supposons que vous souhaitiez connaître l'ancienneté moyenne des salariés du service numéro 42. Pour ce faire, écrivez la requête suivante (sur MS SQL Server - avec la construction précédente USE company1;) :

Le résultat sera 6,33

Exemple 8. Nous travaillons avec une seule table - le personnel. Afficher le salaire moyen des salariés ayant 4 à 6 ans d’expérience.

Fonction SQL COUNT

La fonction SQL COUNT renvoie le nombre d'enregistrements dans une table de base de données. Si vous spécifiez SELECT COUNT(COLUMN_NAME) ... dans la requête, le résultat sera le nombre d'enregistrements sans prendre en compte les enregistrements dans lesquels la valeur de la colonne est NULL (non définie). Si vous utilisez un astérisque comme argument et démarrez une requête SELECT COUNT(*) ..., le résultat sera le nombre de tous les enregistrements (lignes) de la table.

Exemple 9. La base de données et la table sont les mêmes que dans les exemples précédents.

Vous souhaitez connaître le nombre de tous les employés qui reçoivent des commissions. Le nombre d'employés dont les valeurs de la colonne Comm ne sont pas NULL sera renvoyé par la requête suivante (sur MS SQL Server - avec le préfixe USE company1;) :

SELECT COUNT (Comm) FROM Personnel

Le résultat sera 11.

Exemple 10. La base de données et la table sont les mêmes que dans les exemples précédents.

Si vous souhaitez connaître le nombre total d'enregistrements dans la table, utilisez une requête avec un astérisque comme argument de la fonction COUNT (sur MS SQL Server - avec la construction précédente USE company1 ;) :

SELECT COUNT (*) FROM Personnel

Le résultat sera 17.

Ensuite exercice pour une solution indépendante vous devrez utiliser une sous-requête.

Exemple 11. Nous travaillons avec une seule table - le personnel. Afficher le nombre d'employés dans le service de planification (Plaines).

Agréger des fonctions avec SQL GROUP BY

Voyons maintenant l'utilisation des fonctions d'agrégation avec l'instruction SQL GROUP BY. L'instruction SQL GROUP BY est utilisée pour regrouper les valeurs des résultats par colonnes dans une table de base de données. Le site Web a une leçon dédiée séparément à cet opérateur .

Nous travaillerons avec la base de données "Ads Portal 1". Le script pour créer cette base de données, sa table et remplir la table de données est dans le fichier à ce lien .

Exemple 12. Il existe donc une base de données du portail publicitaire. Il contient un tableau Annonces contenant des données sur les annonces soumises pour la semaine. La colonne Catégorie contient des données sur les grandes catégories d'annonces (par exemple, Immobilier) et la colonne Pièces contient des données sur les parties plus petites incluses dans les catégories (par exemple, les parties Appartements et Maisons d'été font partie de la catégorie Immobilier). La colonne Unités contient des données sur le nombre d'annonces soumises et la colonne Argent contient des données sur le montant d'argent reçu pour la soumission d'annonces.

CatégoriePartieUnitésArgent
TransportVoitures110 17600
ImmobilierAppartements89 18690
ImmobilierDachas57 11970
Transportmotocyclettes131 20960
Matériaux de constructionPlanches68 7140
Ingénierie électriqueTéléviseurs127 8255
Ingénierie électriqueRéfrigérateurs137 8905
Matériaux de constructionRecettes112 11760
LoisirsLivres96 6240
ImmobilierÀ la maison47 9870
LoisirsMusique117 7605
LoisirsJeux41 2665

À l'aide de l'instruction SQL GROUP BY, recherchez le montant gagné en publiant des annonces dans chaque catégorie. Nous écrivons la requête suivante (sur MS SQL Server - avec la construction précédente USE adportal1;) :

SELECT Catégorie, SUM (Argent) AS Money FROM ADS GROUP BY Category

Exemple 13. La base de données et la table sont les mêmes que dans l'exemple précédent.

À l’aide de l’instruction SQL GROUP BY, découvrez quelle partie de chaque catégorie contient le plus de listes. Nous écrivons la requête suivante (sur MS SQL Server - avec la construction précédente USE adportal1;) :

SELECT Catégorie, Partie, MAX (Unités) AS Maximum FROM ADS GROUP BY Catégorie

Le résultat sera le tableau suivant :

Les valeurs totales et individuelles peuvent être obtenues dans un seul tableau combiner les résultats de la requête à l'aide de l'opérateur UNION .

Bases de données relationnelles et langage SQL




Haut