Kalle_B: select min(...), wenn NULL vorkommt

Hallöle,

aus einer Menge von Datensätzen, die mit SELECT ... GROUP BY ... zusammengefasst werden, möchte ich den Minimalwert einer Spalte.

gehalt
------
1500
3000
NULL
1800

Was ist jetzt das Ergebnis von min(gehalt)?

Lieben Gruß, Kalle

  1. Hi,

    kann ich dir ohne Test nicht sagen, aber sicherheitshalber würde ich ein NOT NULL-Kriterium anbringen...
    Bei DB2 8.1 ist es:

    • scheinbar der kleinste von NULL verschiedene Wert sofern keine Gruppierung vorliegt (SELECT MIN(ts) FROM tab)
    • sämtliche timestamps(inkl. null), falls danach gruppiert wird (SELECT MIN(ts) GROUP BY ts)
        --> was auch einleuchtet, da der gruppenspezifisch kleinste nunmal der ist, der gruppiert wurde...

    MfG
    Rouven

    --
    -------------------
    ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
  2. Hallo Kalle,

    aus einer Menge von Datensätzen, die mit SELECT ... GROUP BY ... zusammengefasst werden, möchte ich den Minimalwert einer Spalte.

    ich gehe davon aus, dass Du dieses Statement an MySQL senden willst.

    gehalt

    1500
    3000
    NULL
    1800

    Was ist jetzt das Ergebnis von min(gehalt)?

    1500, siehe Handbuch.

    <zitat>
    This section describes group (aggregate) functions that operate on sets of values. Unless otherwise stated, group functions ignore NULL values.
    </zitat>

    Freundliche Grüße

    Vinzenz