
Funkcja MAX()
w SQL to jedno z najczęściej używanych narzędzi analizy danych. Pozwala ona znaleźć największą wartość w danej kolumnie, co jest niezwykle przydatne w różnych scenariuszach, takich jak wyszukiwanie najwyższych cen, maksymalnych wynagrodzeń czy ostatnich dat zamówień.
Jak działa MAX w języku SQL?
Funkcja MAX()
działa na danych liczbowych oraz na innych typach danych, takich jak daty czy teksty. Wykorzystuje się ją w zapytaniach SQL do agregacji danych i znajdowania największej wartości w danym zbiorze.
Podstawowa składnia funkcji wygląda tak:
SELECT MAX(kolumna) FROM tabela;
Funkcja MAX()
zwraca największą wartość spośród wszystkich w danej kolumnie. Można jej używać w połączeniu z GROUP BY
, aby uzyskać maksymalne wartości dla poszczególnych grup danych.
Przykłady zastosowania funkcji MAX
Najlepiej zrozumieć działanie funkcji MAX()
na konkretnych przykładach. Poniżej kilka sytuacji, w których może się przydać.
1. Znalezienie najwyższej ceny produktu
SELECT MAX(cena) AS najwyzsza_cena FROM produkty;
Powyższe zapytanie zwróci najwyższą cenę spośród wszystkich produktów w tabeli produkty
.
2. Największa wartość w każdej grupie – użycie GROUP BY
SELECT kategoria, MAX(cena) AS najwyzsza_cena
FROM produkty
GROUP BY kategoria;
To zapytanie zwraca najwyższą cenę dla każdej kategorii produktów.
3. Ostatnie zamówienie klienta
SELECT MAX(data_zamowienia) AS ostatnie_zamowienie
FROM zamowienia
WHERE id_klienta = 5;
Tutaj znajdujemy datę ostatniego zamówienia klienta o ID 5.
Jak działa MAX w SQL na różnych typach danych?
Funkcja MAX()
działa nie tylko na liczbach, ale również na innych typach danych.
- Typ numeryczny: Znajduje największą liczbę.
- Typ daty: Zwraca najpóźniejszą datę.
- Typ tekstowy: Wartość porównywana jest alfabetycznie (znajduje „największy” ciąg znaków).
MAX w połączeniu z innymi funkcjami
Funkcję MAX()
można łączyć z innymi funkcjami SQL, np. JOIN
, SUBQUERY
czy HAVING
.
1. Najlepiej opłacany pracownik w firmie
SELECT * FROM pracownicy
WHERE pensja = (SELECT MAX(pensja) FROM pracownicy);
Tutaj zwrócone zostaną wszystkie dane pracownika z największą pensją.
2. Filtrowanie wyników za pomocą HAVING
SELECT kategoria, MAX(cena) AS najwyzsza_cena
FROM produkty
GROUP BY kategoria
HAVING MAX(cena) > 100;
To zapytanie znajdzie tylko te kategorie, w których jest produkt kosztujący więcej niż 100.
Przykładowa tabela i wyniki działania MAX
Poniższa tabela przedstawia przykładowe dane:
ID | Produkt | Kategoria | Cena |
---|---|---|---|
1 | Telefon | Elektronika | 1500 |
2 | Laptop | Elektronika | 3000 |
3 | Klawiatura | Akcesoria | 200 |
Ponieważ laptop jest najdroższym produktem w kategorii „Elektronika”, to w wyniku zapytania:
SELECT kategoria, MAX(cena) FROM produkty GROUP BY kategoria;
otrzymamy:
Kategoria | Najwyższa Cena |
---|---|
Elektronika | 3000 |
Akcesoria | 200 |
Podsumowanie
Funkcja MAX()
w SQL to bardzo przydatne narzędzie do analizy danych. Możemy jej używać do znajdowania najwyższych wartości w prostych i bardziej złożonych zapytaniach. Działa na liczbach, datach oraz tekstach, a jej możliwości rozszerzają się wraz z wykorzystaniem innych funkcji SQL.
Inny ciekawy artykuł:
Jak działa MIN w języku SQL? Przykłady zastosowania
Opanuj SQL z moim kursem!
Poznasz zarówno podstawy, jak i zaawansowane zapytania analityczne (CTE, subqueries, window functions). Nauczysz się pracować na różnych silnikach – na kursie pracujemy zarówno na MySQL, jak i na Postgres. Wszystko zainstalujemy na Twoim komputerze, plus dostaniesz mnóstwo zestawów danych do ćwiczeń.
Zostań analitykiem danych – dołącz do KajoDataSpace!
Najlepsza ścieżka do zawodu analityka danych. Dostęp do pełnych wersji kursów online z Excela, SQLa, Tableau i Pythona z certyfikatami + specjalistycznych webinarów z PowerBI.
Ekskluzywana ale pomagająca sobie społeczność.
Ponad 61 godzin materiałów video.
Spotkania LIVE co miesiąc.
Mój osobisty mentoring.