Count - Mit oder ohne NULL?

tud
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 117
Registriert: 9. Mär 2011 14:07

Count - Mit oder ohne NULL?

Beitrag von tud » 8. Sep 2012 10:01

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?

Tai
Mausschubser
Mausschubser
Beiträge: 52
Registriert: 6. Feb 2012 23:36

Re: Count - Mit oder ohne NULL?

Beitrag von Tai » 8. Sep 2012 11:44

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

tud
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 117
Registriert: 9. Mär 2011 14:07

Re: Count - Mit oder ohne NULL?

Beitrag von tud » 8. Sep 2012 12:03

Warum soll keine komplette Zeile Null sein können?

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

Tai
Mausschubser
Mausschubser
Beiträge: 52
Registriert: 6. Feb 2012 23:36

Re: Count - Mit oder ohne NULL?

Beitrag von Tai » 8. Sep 2012 13:29

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(*);

tud
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 117
Registriert: 9. Mär 2011 14:07

Re: Count - Mit oder ohne NULL?

Beitrag von tud » 8. Sep 2012 14:33

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.

Antworten

Zurück zu „Archiv“