2010-03-02 9 views
5

Poszukuję przykładowej bazy danych "podręcznika", aby zilustrować najważniejsze cechy zagregowanych funkcji (Max, Min, Sum, Avg i Count), gdy zaangażowane są wartości NULL.Jak zaprezentować funkcje funkcji agregujących (NULL)?

Muszę być w stanie omówić i zilustrować/przedstawić wykorzystanie tych funkcji agregacji w obecności NULL z przykładowymi zapytaniami i ich odpowiedziami, korzystając z wspomnianej bazy danych.

Wielkie dzięki!

Odpowiedz

2

Zastosowanie:

SELECT MAX(t.num) AS max_test, 
     MIN(t.num) AS min_test, 
     SUM(t.num) AS sum_test, 
     AVG(t.num) AS avg_test, 
     COUNT(t.num) AS count_test, 
     COUNT(*) AS count_star_test 
    FROM (SELECT NULL AS num 
     UNION ALL 
     SELECT 1 
     UNION ALL 
     SELECT 2 
     UNION ALL 
     SELECT 3) t 

wyjściowe powinny być:

max_test | min_test | sum_test | avg_test | count_test | count_star_test 
------------------------------------------------------------------------- 
3  | 1  | 6  | 2  | 3   | 4 

Podsumowując, NULL jest ignorowane przez funkcje agregujące, jeśli odwołać kolumnę specjalnie. COUNT to jedyna funkcja agregująca, która obsługuje * - COUNT(*) będzie zawierała wartości NULL w tym przypadku.

+4

Będę wskazywać, że wartość null nie jest ignorowana, gdy używasz count (*) zamiast zliczania (Fieldname) – HLGEM

+0

@HLGEM: Dobra, zaktualizowana. –

0

Wartości zerowe są nieznaną wartością. Wszystkie funkcje agregujące oprócz funkcji count ignorują wartość pustą.

Brałem przykład system koncepcja bazy forma przez korth.Here jest relacją instruktor

ID  name  dept  salary 
22222  Einstein Physics  95000 
12121  Wu   Finance  90000 
32343  El Said  History  60000 
45565  Katz  Comp. Sci. 75000 
98345  Kim Elec. Eng.  80000 
12131  jake  music  null 

mam ignorowane kilka krotki i wstawiono nowe krotki (12131 Jake, muzyka, null), aby zilustrować funkcję zbiorczą na wartości null.

select sum(salary) from instructor; 
result 400000 
select min(salary) from instructor; 
result 60000 
select count(*) from instructor; 
result 6 

Podobne zatrzymania wyników dla funkcji maksymalnej i średniej. Tylko funkcja liczenia uwzględnia wartości puste.