phpbar.de logo

Mailinglisten-Archive

Anzahl ermitteln

Anzahl ermitteln

Sebastian Mendel lists at sebastianmendel.de
Don Mar 11 18:36:27 CET 2004


Jan Kuehl wrote:

> Sebastian Mendel schrieb:
> 
>>     SELECT `kategorie`.`KatBez`,
>>            COUNT(`taschen`.*) AS `anzahl`
>>       FROM `kategorie`
>> LEFT JOIN `taschen`
>>         ON `kategorie`.`KatNr` = `taschen`.`Farbe`
>>   GROUP BY `kategorie`.`KatNr`
>
> 
> Wieso kann diese Query das richtige Ergebnis liefern?
> Der LEFT JOIN sorgt auf der linken Seite fuer eine NULL-Verknuepfung 
> fuer Blau. COUNT zaehlt aber eigentlich null-Werte mit. Damit muesste 
> COUNT(taschen.*) fuer Kategorien mindestens immer 1 liefern und niemals 
> 0. Ich habe diese Query jetzt nicht getestet, da die Frage allgemeiner 
> zu COUNT und MySQL aufzufassen ist. Also genauer, wie COUNT in MySQL 
> betreffs NULL genau ausgewertet wird.

ja wenn COUNT(`taschen`.*) ein falsches Ergebnis liefert dann muss man 
eben COUNT(`taschen`.`Nr`) machen.

... und COUNT zählt _keine_ NULL-Werte mit!


"COUNT(expr)
     Returns a count of the number of non-NULL values in the rows 
retrieved by a SELECT statement:"

http://www.mysql.com/doc/en/GROUP-BY-Functions.html#IDX1446


-- 
Sebastian Mendel (www.sebastianmendel.de)

*www.warzonez.de* | www.tekkno4u.de | www.nofetish.com

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive