SQL Oracle DB

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/sql-oracle-db_254309/page_1 - zur Vollversion wechseln!


kleinerChemiker schrieb am 06.09.2019 um 13:43

Eigentlich eine ganz einfache Abfage an eine Oracle DB:

SELECT a, count(a) AS anzahl FROM tabelle GROUP BY a ORDER BY anzahl DESC

Die Spalte a enthält kurzen Text und viele NULLs. Die Ausgabe funktioniert, nur dass die NULLs nicht gezählt werden, sondern die Anzahl 0 haben. Jemand eine Ahnung, warum das so ist und wie man das umgeht?

Ist kein größeres Problem, mich würde es nur interessieren.

tia


ill schrieb am 06.09.2019 um 13:47

Naja, das ist so by design und macht imho auch Sinn, in der Regel will ich doch nur Datensätze zählen, die auch einen Wert haben.

COUNT(*) müsste dir alle Datensätze zurückliefern.
Vielleicht hilft dir hier auch dieser Post weiter: https://sqlbenjamin.wordpress.com/2...ng-null-values/


meepmeep schrieb am 06.09.2019 um 13:57

nvl hilft hier

Code: SQL
SELECT a, count(nvl(a, 'meep')) AS anzahl FROM tabelle GROUP BY a ORDER BY anzahl DESC

Doku dazu: https://docs.oracle.com/database/12....htm#SQLRF00684


kleinerChemiker schrieb am 06.09.2019 um 14:00

Danke!

Ich will eigentlich alle Datensätze zählen, die meinen Kriterien entsprechen. Ich würde eher erwarten, dass ich eben auf Werte <> NULL einschränken müsste.




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025