SQL Server för medelnivå
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 kan användas med COUNT() på samma sätt som andra aggregeringsfunktioner, till exempel AVG(), MIN() och MAX()
Använd ORDER BY för att sortera värdena
ASC returnerar de minsta värdena först (standard) DESC returnerar de största värdena först-- Count the rows, subtotaled by Country
SELECT COUNT(*) AS TotalRowsbyCountry, Country
FROM Incidents
GROUP BY Country
+----------------------+-----------------+
|TotalRowsbyCountry | Country |
+----------------------+-----------------+
|5452 |us |
|750 |NULL |
|249 |ca |
|1 |gb |
+----------------------+-----------------+
-- Count the rows, subtotaled by 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 |
+----------------------+-----------------+
-- Count the rows, subtotaled by 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() beräknar den numeriska summan av värdena i en kolumn
Funktionen följer samma mönster som övriga aggregeringar
Kombinera med GROUP BY för delsummor baserade på angivna kolumner
-- Calculate the values subtotaled 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 för medelnivå