Середній рівень SQL Server
Ginger Grant
Instructor
SELECT COUNT(*) FROM Incidents
+-----------------+
|(No column name) |
+-----------------+
|6452 |
+-----------------+
COUNT(DISTINCT COLUMN_NAME)
SELECT COUNT(DISTINCT Country) AS Countries
FROM Incidents
+----------------+
|Countries |
+-----------------+
|3 |
+-----------------+
SELECT COUNT(DISTINCT Country) AS Countries,
COUNT(DISTINCT City) AS Cities
FROM Incidents
+----------------+-------------+
|Countries | Cities |
+-----------------+-------------+
|3 | 3566 |
+-----------------+-------------+
GROUP BY можна застосувати з COUNT() так само, як з іншими агрегатними функціями: AVG(), MIN(), MAX()
Використайте команду ORDER BY, щоб відсортувати значення
ASC повертає спочатку найменші (типово) DESC повертає спочатку найбільші-- Порахуйте рядки з підсумком за Country
SELECT COUNT(*) AS TotalRowsbyCountry, Country
FROM Incidents
GROUP BY Country
+----------------------+-----------------+
|TotalRowsbyCountry | Country |
+----------------------+-----------------+
|5452 |us |
|750 |NULL |
|249 |ca |
|1 |gb |
+----------------------+-----------------+
-- Порахуйте рядки з підсумком за 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 |
+----------------------+-----------------+
-- Порахуйте рядки з підсумком за 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 |
+----------------------+-----------------+
SUM() обчислює числову суму значень у стовпці
Працює за тим самим шаблоном, що й інші агрегації
Поєднайте з GROUP BY, щоб отримати підсумки за вказаними стовпцями
-- Обчисліть значення з підсумком за Country
SELECT SUM(DurationSeconds) AS TotalDuration, Country
FROM Incidents
GROUP BY Country
+----------+--------------------+
|Country |TotalDuration |
+----------+--------------------+
|us |17024946.750001565 |
|null |18859192.800000012 |
|ca |200975 |
|gb |120 |
+----------+--------------------+
Середній рівень SQL Server