Stefan Kleeschulte: MySQL: Verschiedene Einträge aus einer Spalte finden

Hi zusammen!

Ich hab' nochmal 'ne Frage zu MySQL...
Ich erklärs am besten an einem kleinen Beispiel:
Angenommen ich hab' in einer Tabelle zwei Spalten, "ID" und "Typ". In dieser Tabelle habe ich 5 Datensätze (Zeilen). Bei den ersten beiden ist TYP=bla, bei den restlichen drei ist TYP=blabla. Gibt es einen MySQL befehl mit dem ich herausfinden kann das in der Spalte TYP die Einträge bla und blabla (egal wie oft) vorkommen?

Danke schonmal im Voraus...
CU :-)
Stefan

  1. Hallo Stefan,

    Ich hab' nochmal 'ne Frage zu MySQL...
    Ich erklärs am besten an einem kleinen Beispiel:
    Angenommen ich hab' in einer Tabelle zwei Spalten, "ID" und "Typ". In dieser Tabelle habe ich 5 Datensätze (Zeilen). Bei den ersten beiden ist TYP=bla, bei den restlichen drei ist TYP=blabla. Gibt es einen MySQL befehl mit dem ich herausfinden kann das in der Spalte TYP die Einträge bla und blabla

    (egal wie oft) vorkommen?

    SELECT COUNT(Typ) AS bla FROM tabelle WHERE Typ='bla'
    SELECT COUNT(Typ) AS blabla FROM tabelle WHERE Typ='blabla'

    Nun steht diese Anzahl im Ergebnis in bla bzw. blabla.

    Oder fuer beide Vorkommen:

    SELECT COUNT(Typ) AS xyz FROM tabelle WHERE Typ='bla' OR Typ='blabla'
    bzw.
    SELECT COUNT(Typ) AS xyz FROM tabelle WHERE Typ IN ('bla','blabla')

    MfG, Thomas

    1. Hi Thomas!

      SELECT COUNT(Typ) AS bla FROM tabelle WHERE Typ='bla'
      SELECT COUNT(Typ) AS blabla FROM tabelle WHERE Typ='blabla'

      Nun steht diese Anzahl im Ergebnis in bla bzw. blabla.

      Oder fuer beide Vorkommen:

      SELECT COUNT(Typ) AS xyz FROM tabelle WHERE Typ='bla' OR Typ='blabla'
      bzw.
      SELECT COUNT(Typ) AS xyz FROM tabelle WHERE Typ IN ('bla','blabla')

      Prima, damit hast du mir schonmal ziemlich weitergeholfen. Was mache ich aber, falls ich bla und blabla nicht vorher kenne?

      CU :-)
      Stefan

      1. Hallo,

        versuch mal die Dokumentation von www.mysql.com, da steht eigentlich alles drin. In wieweit kennst Du bla noch nicht?

        Gruß Jan

        Hi Thomas!

        SELECT COUNT(Typ) AS bla FROM tabelle WHERE Typ='bla'
        SELECT COUNT(Typ) AS blabla FROM tabelle WHERE Typ='blabla'

        Nun steht diese Anzahl im Ergebnis in bla bzw. blabla.

        Oder fuer beide Vorkommen:

        SELECT COUNT(Typ) AS xyz FROM tabelle WHERE Typ='bla' OR Typ='blabla'
        bzw.
        SELECT COUNT(Typ) AS xyz FROM tabelle WHERE Typ IN ('bla','blabla')

        Prima, damit hast du mir schonmal ziemlich weitergeholfen. Was mache ich aber, falls ich bla und blabla nicht vorher kenne?

        CU :-)
        Stefan

        1. Hi Jan!

          In wieweit kennst Du bla noch nicht?

          In der Spalte Typ stehen ganz verschiedene Einträge, die ich nicht vorher kenne. Es ist sehr wahrscheinlich, dass ein oder mehrere dieser Einträge mehrfach vorkommen. Und nun will ich eine Liste erstellen, in der alle verschiedenen Einträge aus der Spalte Typ stehen, aber eben jeweils nur einmal.

          CU :-)
          Stefan

          1. Moin

            In der Spalte Typ stehen ganz verschiedene Einträge, die ich nicht vorher kenne. Es ist sehr wahrscheinlich, dass ein oder mehrere dieser Einträge mehrfach vorkommen. Und nun will ich eine Liste erstellen, in der alle verschiedenen Einträge aus der Spalte Typ stehen, aber eben jeweils nur einmal.

            Dafür kannst du GROUP BY benutzen, also
            SELECT COUNT(Typ), Typ FROM Tabelle GROUP BY Typ

            Gibt dir sowohl alle verwendeten Typen, als auch ihre Verwendungshäufigkeit.

            --
            Henryk Plötz
            Grüße von der Ostsee

            1. Dafür kannst du GROUP BY benutzen, also
              SELECT COUNT(Typ), Typ FROM Tabelle GROUP BY Typ

              Gibt dir sowohl alle verwendeten Typen, als auch ihre Verwendungshäufigkeit.

              Hey Henryk, 1A, das hab' ich gesucht...

              CU :-)
              Stefan

          2. Hi,

            Und nun will ich eine Liste erstellen, in der alle verschiedenen Einträge aus der Spalte Typ stehen, aber eben jeweils nur einmal.

            SELECT DISTINCT typ FROM table_name;

            Viele Grüße
                  Michael