Klaus Mock: count Klausel

Beitrag lesen

Hallo,

Danke, soweit hatte ich es auch schon gehabt, aber dann gibt er mir trotzdem 535 Datensätze aus. Er zählt ja dann alle Datensätze, ich will aber nur bestimmte haben.

Wie ich bereits sagte, bietet sich eine WHERE-Klausel unter der Verwendung des IN-Operators in Vebindung mit GROUP BY und COUNT() an.

SELECT count( * ) , artikel
FROM tspi_option_ver
GROUP BY artikel
und dann nur noch z.B. WHERE artikel='996' and Artikel='924' usw... aber eine WHERE Bedingung gibt es ja da nicht.

Wenn man keine WHERE-Klausel formuliert, gibt es sie auch nicht, wenn man sie doch hinzufügt, dann ist sie plötzlich da. Scheinbar hast Du auch ein Problem der richtigen Formulierung des Filters. Da in einem Datensatz in einer bestimmten Spalte immer nur genau ein Wert sein kann, ist es unmöglich, dass

WHERE artikel='996' and Artikel='924'

funktioniert. Wenn überhaupt dann

WHERE artikel='996' OR artikel='924'

aber bei mehreren Werten (so ab >2) wirds bald unübersichtlich, also verwendet man dann den Operator IN:

SELECT wasauchimmer, count(*)
    FROM woauchuimmer
   WHERE wasauchimmer IN ('einige', 'mögliche', 'werte')
GROUP BY wasauchimmer

Nachzulesen ist das ganze hier:
http://dev.mysql.com/doc/refman/4.1/en/select.html
http://dev.mysql.com/doc/refman/4.1/en/comparison-operators.html
oder auch hier
http://de.wikipedia.org/wiki/SQL

Grüße
  Klaus