Schrift
[thread]3487[/thread]

NULL-Werte summieren



<< |< 1 2 >| >> 11 Einträge, 2 Seiten
frambo
 2004-07-29 10:59
#32456 #32456
User since
2003-09-22
16 Artikel
BenutzerIn
[default_avatar]
Hallo !

Bin relativ neu in SQL und ich wollte eine Spalte aufsummieren, also herausbekommen, wieviele Einträge in einer bestimmten Spalte sind. Das habe ich dann erstmal so gemacht:

Code: (dl )
1
2
SELECT EINTRAG_ID, COUNT(WERTE)
FROM TESTTABELLE ...


Das dumme ist nur, dass COUNT ja nur die Werte nimmt, die nicht NULL sind. Ich will aber eben auch diese NULL-Werte mit dazurechnen. Ich hab schon im Netz nach einer Lösung gesucht, aber komischerweise hab ich für ein so (triviales?) Problem keine Lösung gefunden...

Hat jemand da einen Tip für mich ?

Gruss
frambo
esskar
 2004-07-29 11:11
#32457 #32457
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
dann nimm doch einfach ein anderes feld!
renee
 2004-07-29 11:17
#32458 #32458
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
am besten ein feld des Primary key, denn das darf nie NULL sein!
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
frambo
 2004-07-29 12:31
#32459 #32459
User since
2003-09-22
16 Artikel
BenutzerIn
[default_avatar]
[quote=esskar,29.07.2004, 09:11]dann nimm doch einfach ein anderes feld![/quote]
Das war auch mein erster Gedanke.

Dabei habe ich dann zum Beispiel das Datumsfeld genommen oder das ID-Feld, allerdings unterscheidet sich die Abfragezeit erheblich. Für die eine Spalte braucht er ein paar Sekunden, beim Datum dagegen mehrere Minuten. Keine Ahnung woran da liegt...
Thorium
 2004-07-29 13:01
#32460 #32460
User since
2003-08-04
232 Artikel
BenutzerIn
[Homepage] [default_avatar]
Try:
Code: (dl )
count(*)


EDIT:
Aber irgendwie werd ich aus deiner Frage nicht schlau.
Entweder du willst die EInträge einer Spalte - dann willst du die NULL-Values nicht.
Oder du willst die Anzahl aller Datensätze d.h. incl. NULL-Values. Dann hat das aber nicht wirklich etwas mit den Einträgen einer Spalte zu tun...
*K/A*\n\n

<!--EDIT|Thorium|1091092009-->
Per|li|nist der; -en, -en <zu ↑...ist>: a) Anhänger, Vertreter der radikalen Perlinisten die Perl als die einzig wahre Sprache ansehen; b) Mitglied einer perlinistischen Community.
frambo
 2004-07-29 16:33
#32461 #32461
User since
2003-09-22
16 Artikel
BenutzerIn
[default_avatar]
[quote=Thorium,29.07.2004, 11:01]Try:
Code: (dl )
count(*)


EDIT:
Aber irgendwie werd ich aus deiner Frage nicht schlau.
Entweder du willst die EInträge einer Spalte - dann willst du die NULL-Values nicht.
Oder du willst die Anzahl aller Datensätze d.h. incl. NULL-Values. Dann hat das aber nicht wirklich etwas mit den Einträgen einer Spalte zu tun...
*K/A*[/quote]
Im Prinzip will ich einfach nur die Anzahl aller Zeilen, d.h. dass ich auch einfach (wie vorgeschlagen) COUNT(*) nehmen könnte.

Das Problem ist aber eher, dass das um Längen mehr Zeit braucht als wenn ich eine bestimmte Spalte auswähle. Und diese Spalte ist natürlich auch die Spalte, die NULL-Werte enthalten darf. Ich hab keine Ahnung, ob bei den anderen Spalten (Datum, ID, ..) die Datenbank generell immer etwas überprüfen muss ?! Sonst weiss ich auch nicht, woran das liegt. DB ist übrigens eine (wirklich) dicke Oracle 9i.
renee
 2004-07-29 16:35
#32462 #32462
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wie gesagt, nimm eine Spalte des Primärschlüssels. Da sind keine NULL-Werte drin. Außerdem sollte das schnell gehen, weil ein Index auf diesen Spalten ist!
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
rio
 2004-07-29 18:08
#32463 #32463
User since
2004-05-31
105 Artikel
BenutzerIn
[default_avatar]
hm... mach einfach en id vorne drann mit auto increment =) die zählt dann bei jedem eintrag automatisch hoch ohne das du was machen musst , undd ann selectest einfach den höchstens wert aus der id , doer den letzten eintrag doer so und viola =D
Relais
 2004-07-29 18:21
#32464 #32464
User since
2003-08-06
2244 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das geht schief, wenn Zeile(n) daraus gelöscht wurde(n).

Und wer ist Viola? 8)\n\n

<!--EDIT|Relais|1091110901-->
Erst denken, dann posten --
26. Deutscher Perl- u. Raku -Workshop 15. bis 17.04.2024 in Frankfurt/M.

Winter is Coming
rio
 2004-07-29 18:25
#32465 #32465
User since
2004-05-31
105 Artikel
BenutzerIn
[default_avatar]
hm..stimmt , dann zählst halt wieviele zeilen in der spalte id sind =) weil da kommt ja dann kein Null wert rein =) viola is meine freundinn ;-)
<< |< 1 2 >| >> 11 Einträge, 2 Seiten



View all threads created 2004-07-29 10:59.