Kurs Oracle SQL online. Funkcje agregujące

Dzisiaj temat miły, lekki i przyjemny. W tej lekcji kursu Oracle SQL zajmiemy się funkcjami agregującymi – czyli jak policzyć maksimum, minimum, średnią czy sumę. Pokażemy również jak policzyć liczbę rekordów w tabeli, które spełniają określonych warunek.

Przykład 1. Wyświetl maksymalną, minimalną i średnią wartość pensji.

SELECT Max(salary), Min(salary), Avg(salary)
FROM employees;

Zliczanie rekordów:

  • Count(*) – zlicza liczbę rekordów
  • Count(nazwa_kolumny) – zlicza nieNULLowe 🙂 wartości  w kolumnie
  • Count(distinct nazwa_kolumny) – zlicza wartości unikalne wartości w kolumnie

Przykład 2. Wyświetl ilu jest pracowników, ile jest rekordów z wypełnioną polem manager_id oraz ile jest rekordów z unikalnymi wartościami w kolumnie manager_id.

SELECT Count(*), Count(manager_id), Count(DISTINCT manager_id)
FROM employees;

Przykład 3. Wyświetl liczbę osób zatrudnionych w 2006 roku oraz maksymalną wartość ich pensji.

SELECT Count(*), Max(salary) FROM employees
WHERE To_Char(hire_date,'yyyy')=2006;

Ćwiczenie 1. Czy poniższy przykład zadziała? Jeśli nie – to dlaczego?

SELECT first_name, Count(*), Max(salary) 
FROM employees
WHERE To_Char(hire_date,'yyyy')=2006;

Przykład 4. Wyświetl różnicę między najwyższą i najniższą pensją pracowników zatrudnionych w 2007 roku oraz sumę pensji z tego okresu.

SELECT Max(salary) - Min(salary), Sum(salary) 
FROM employees
WHERE To_Char(hire_date,'yyyy')=2007;

Co w następnej lekcji? Grupowanie 🙂 Zapraszam.

About Rafal Stryjek

My LinkedIn profile. Passionate about data. Data Warehousing Expert. Snowflake Data SuperHero & Oracle ACE Associate. International conferences Speaker: Snowflake Build Summit-BUILD.local 2021, Oracle Open World, DOAG, UKOUG, APEX World,.. Visit dataconsulting.pl website!
This entry was posted in Oracle, Oracle SQL, Oracle SQL Podstawy, SQL. Bookmark the permalink.

Leave a Reply