wuscheck: Eintrag summieren

Hallo,

ich habe eine Tabelle in einer MySql-DB in der in verschiedenen Feldern ein bestimmter Begriff steht... Habe ich hier die Möglichkeit recht einfach die Anzahl des Begriffes herauszufinden? Hilft hier die group-by-Funktion?

Beispiel DB:

feld1 = rot
feld7 = rot
feld23 = rot
...

anzahl "rot" = 28

  1. Hallo,

    die Möglichkeit hast Du:

    $result = mysql_query( "SELECT field FROM tabelle" );
    $treffer = mysql_num_rows($result);

    In $treffer hast Du dann die Anzahl der Treffer aus Deiner SELECT-Anfrage.

    Grüße aus Würzburg
    Julian

    1. Hallo,

      die Möglichkeit hast Du:

      $result = mysql_query( "SELECT field FROM tabelle" );
      $treffer = mysql_num_rows($result);

      In $treffer hast Du dann die Anzahl der Treffer aus Deiner SELECT-Anfrage.

      Grüße aus Würzburg
      Julian

      So bekomme ich aber doch nur die Treffer des Feldes field, oder??? Was ich brauche ist die Anzahl der Felder deren Inhalt z.B. "rot" steht. "rot" kann aber im Feld Autofarbe, Hausfarbe, Teppichfarbe oder weiteren stehen...

      1. Hallo,

        Was ich brauche ist die Anzahl der Felder deren Inhalt z.B. "rot" steht. "rot" kann aber im Feld Autofarbe, Hausfarbe, Teppichfarbe oder weiteren stehen...

        Mir ist nicht ganz klar, warum Du mehrere Farb-Felder brauchst. So wie es sich für mich darstellt, könntest Du Deine Tabellenstruktur etwas modifizieren, in dem Du nur ein Feld für die Farbe benutzt und in einem Zweiten Feld angibst, ob es sich um ein Auto, ein Haus oder einen Teppich handelt.

        Mit Diener Tabellenstruktur könnte ich mir spontan nur folgende einfache Abfragen vorstellen:

        1.) Du willst wissen, wie viele Datensätze es pro Autofrabe gibt.

        SELECT Autofarbe, count(*) FROM tabelle GROUP BY Autofarbe

        2.) Du willst wissen, wie viele Datensätze es gibt, bei denen die Autofarbe rot ist:

        SELECT count(*) FROM tabelle WHERE Autofarbe = 'rot'

        3.) Du willst wissen, wie viele Datensätze es gibt, bei denen irgendeine Farbe rot ist:

        SELECT count(*) FROM tabelle WHERE Autofarbe = 'rot' or Hausfarbe = 'rot' or Teppichfarbe = 'rot' ...

        Wenn dir das alles nicht genügt, dann solltest Du Dir eventuell wirklich eine andere Datenstruktur einfallen lassen, um die von Dir gewünschten Abfragen besser umsetzen zu können. IMHO sollte man sich bereits vor der Erstellung der Datenstruktur massiv Gedanken darüber machen, was alles abgefragt werden soll, und diese dann auch gleich beim Datenbankdesign mit überprüfen, ob sie auch sinnvoll formuliert werden können. Denn die Abfragen sind eigentlich das Um und Auf einer Datenbank.

        Grüße
          Klaus