Przejdź do treści
FullstackDev

Funkcje agregujące

Poza podstawowymi klauzulami, które poznaliśmy do tej pory, SQL oferuje również funkcje agregujące, które pozwalają na przetwarzanie zestawów danych i zwracanie jednej wartości wynikowej. Jest to przydatna funkcja w analizie danych, pozwalająca na obliczanie sum, średnich wartości, liczby wierszy, maksimum, minimum itp. w kolumnach tabeli.

Wstęp do funkcji agregujących w SQL:

Funkcje agregujące w języku SQL są używane do przetwarzania zestawów danych, grupując je według określonych kryteriów i zwracając jedno wartość wynikową. Te funkcje wykonują operacje matematyczne lub logiczne na zestawach danych w kolumnach tabeli, aby uzyskać pożądane wyniki, takie jak suma, średnia, liczba wierszy, maksimum lub minimum.

Opis pojedynczych funkcji agregujących z przykładami:

  1. SUM: Funkcja SUM() oblicza sumę wartości w określonej kolumnie tabeli.
    • Przykład: Obliczenie łącznej wartości zamówień w tabeli SalesLT.SalesOrderHeader.
   SELECT SUM(TotalDue) AS TotalOrdersValue
   FROM SalesLT.SalesOrderHeader;
  1. AVG: Funkcja AVG() oblicza średnią wartość w określonej kolumnie tabeli.
    • Przykład: Obliczenie średniej wartości produktów w tabeli SalesLT.Product.
   SELECT AVG(ListPrice) AS AveragePrice
   FROM SalesLT.Product;
  1. MAX: Funkcja MAX() zwraca maksymalną wartość w określonej kolumnie tabeli.
    • Przykład: Znalezienie najwyższej wartości w kolumnie StandardCost w tabeli SalesLT.Product.
   SELECT MAX(StandardCost) AS MaxStandardCost
   FROM SalesLT.Product;
  1. MIN: Funkcja MIN() zwraca minimalną wartość w określonej kolumnie tabeli.
    • Przykład: Znalezienie najniższej wartości w kolumnie OrderDate w tabeli SalesLT.SalesOrderHeader.
SELECT MIN(OrderDate) AS EarliestOrderDate
FROM SalesLT.SalesOrderHeader;
  1. COUNT: Funkcja COUNT() zwraca liczbe wierszy zwróconych przez zapytanie. Funkcja ta przyjmuje jeden argument, który może być kolumną, wyrażeniem, literałem lub *.
SELECT COUNT(*) 
FROM SalesLT.Address
WHERE StateProvince = 'California';

Za jej pomocą możemy też zliczać unikalne wartości, przykładowo liczbę 'unikalnych' miast ze stanu `California`, możemy uzyskać w następujący sposób:

SELECT COUNT(DISTINCT City)
FROM SalesLT.Address
WHERE StateProvince = 'California'

Jeżeli podamy do niej nazwę kolumny, COUNT() zwraca liczbę wierszy, w których wartość kolumny nie jest NULL. Funkcja COUNT() zwraca wartość całkowitą.

SELECT COUNT(MiddleName)
FROM SalesLT.Customer;