Décomptes et totaux

Intermédiaire SQL Serveur

Ginger Grant

Instructor

Examiner les totaux avec COUNT

SELECT COUNT(*) FROM Incidents
+-----------------+
|(No column name) |
+-----------------+
|6452             | 
+-----------------+
Intermédiaire SQL Serveur

COUNT avec DISTINCT

COUNT(DISTINCT COLUMN_NAME)
Intermédiaire SQL Serveur

COUNT avec DISTINCT en T-SQL (I)

SELECT COUNT(DISTINCT Country) AS Countries
FROM Incidents
+----------------+
|Countries       |
+-----------------+
|3               |
+-----------------+
Intermédiaire SQL Serveur

COUNT avec DISTINCT en T-SQL (II)

SELECT COUNT(DISTINCT Country) AS Countries,
COUNT(DISTINCT City) AS Cities 
FROM Incidents
+----------------+-------------+
|Countries       | Cities      |
+-----------------+-------------+
|3               | 3566        |
+-----------------+-------------+
Intermédiaire SQL Serveur

Agrégation COUNT

  • GROUP BY s'emploie avec COUNT() comme avec les autres agrégations : AVG(), MIN(), MAX()

  • Utilisez ORDER BY pour trier les valeurs

    • ASC renvoie d'abord les plus petites valeurs (par défaut)
    • DESC renvoie d'abord les plus grandes valeurs
Intermédiaire SQL Serveur

COUNT avec GROUP BY en T-SQL

-- Compter les lignes, avec sous-totaux par Country
SELECT COUNT(*) AS TotalRowsbyCountry, Country
FROM Incidents
GROUP BY Country 
+----------------------+-----------------+
|TotalRowsbyCountry   | Country         |
+----------------------+-----------------+
|5452                 |us               |
|750                  |NULL             |
|249                  |ca               |
|1                    |gb               |
+----------------------+-----------------+
Intermédiaire SQL Serveur

COUNT avec GROUP BY et ORDER BY en T-SQL (I)

-- Compter les lignes, avec sous-totaux par Country
SELECT COUNT(*) AS TotalRowsbyCountry, Country
FROM Incidents
GROUP BY Country 
ORDER BY Country ASC
+----------------------+-----------------+
|TotalRowsbyCountry   | Country         |
+----------------------+-----------------+
|750                  |NULL             |
|249                  |ca               |
|1                    |gb               |
|5452                 |us               |
+----------------------+-----------------+

Intermédiaire SQL Serveur

COUNT avec GROUP BY et ORDER BY en T-SQL (II)

-- Compter les lignes, avec sous-totaux par Country
SELECT COUNT(*) AS TotalRowsbyCountry, Country
FROM Incidents
GROUP BY Country 
ORDER BY Country DESC
+----------------------+-----------------+
|TotalRowsbyCountry   | Country         |
+----------------------+-----------------+
|5452                 |us               |
|1                    |gb               |
|249                  |ca               |
|750                  |NULL             |
+----------------------+-----------------+
Intermédiaire SQL Serveur

Totaux de colonnes avec SUM

  • SUM() calcule le total numérique des valeurs d'une colonne

  • Même schéma que les autres agrégations

  • À combiner avec GROUP BY pour des sous-totaux selon les colonnes choisies

Intermédiaire SQL Serveur

Additionner les valeurs d'une colonne en T-SQL

-- Calculer les valeurs avec sous-totaux par Country
SELECT SUM(DurationSeconds) AS TotalDuration, Country
FROM Incidents
GROUP BY Country
+----------+--------------------+
|Country   |TotalDuration       |
+----------+--------------------+
|us        |17024946.750001565  |
|null      |18859192.800000012  |
|ca        |200975              |
|gb        |120                 |
+----------+--------------------+

Intermédiaire SQL Serveur

Passons à la pratique !

Intermédiaire SQL Serveur

Preparing Video For Download...