Seite 1 von 1

Count - Mit oder ohne NULL?

Verfasst: 8. Sep 2012 10:01
von tud
Hallo!

Auf Folie 178 erfahren wir, dass Count NULL mitzählt. In der Wikipedia steht jedoch, dass Count NULL nicht mitzählt.
http://de.wikipedia.org/wiki/SQL#Gruppi ... Funktionen

Was sagt ihr dazu?

Re: Count - Mit oder ohne NULL?

Verfasst: 8. Sep 2012 11:44
von Tai
count(SplateA) zählt die nicht NULL-Werte
count(*) zählt die Anzahl der Zeilen, da eine Zeile nicht NULL sein kann, wird null "ignoriert".

Quelle: 2.Aufglage von "SQL kurz & gut" von O'REILLY Verlag

Re: Count - Mit oder ohne NULL?

Verfasst: 8. Sep 2012 12:03
von tud
Warum soll keine komplette Zeile Null sein können?

Dann liefert doch avg(values) doch dasselbe wie sum(values)/count(values), oder?

Re: Count - Mit oder ohne NULL?

Verfasst: 8. Sep 2012 13:29
von Tai
tud hat geschrieben:Warum soll keine komplette Zeile Null sein können?
Es können nur alle einträge NULL sein und das würde von count(*) mitgezähl.
tud hat geschrieben:Dann liefert doch avg(values) doch dasselbe wie sum(values)/count(values), oder?
avg(columnA) = sum(columnA) / count(columnA);
avg(columnA) != sum(columnA) / count(*);

Re: Count - Mit oder ohne NULL?

Verfasst: 8. Sep 2012 14:33
von tud
Ah okay, danke. Also count(*) zählt die Zeilen (egal was drin steht, selbst wenn die Tabelle nur eine Spalte hat, in der ausschließlich NULL steht) und count(value) die Zeilen ohne NULL bei value.