Announcement

Collapse
No announcement yet.

SQL-Abfrage Group By

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • SQL-Abfrage Group By

    Hallo,
    ich suche eine Lösung für folgendes Problem:
    Ich habe eine Tabelle die so (Beispiel) aufgebaut ist:

    Tabelle Lager

    Behaelter Inhalt

    Kiste1 Bananen
    Kiste1 Zitronen
    Kiste1 Orangen
    Kiste1 Zitronen
    Kiste2 Äpfel
    Kiste2 Orangen
    Kiste2 Äpfel
    Kiste3 Orangen
    Kiste3 Bananen
    Kiste3 Äpfel
    usw.

    Ich möchte jetzt wissen, wieviel verschiedene Obstsorten in jeder Kiste sind.
    Die richtige Antwort wäre also:
    Kiste1 3
    Kiste2 2
    Kiste3 3


    In MySQL umgesetzt habe ich probiert:

    select behaelter,count(*) from Lager Group By behaelter;

    ausgegeben wird aber natürlich:
    Kiste1 4
    Kiste2 3
    Kiste3 3


    Würde mich über eine Antwort freuen,
    Axel

  • #2
    Hallo,

    dafür unterstützt die Aggregatfunktion count() den Parameter distinct.
    [highlight=sql]
    select behaelter, count(distinct Inhalt)
    from Lager
    Group By behaelter;
    [/highlight]

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Suuuper,
      da wäre ich alleine nicht drauf gekommen, dass DISTINCT in Count() geht. Ich kann das in einigen Abfragen gebrauchen, die ich bisher umständlich mit php programmiert habe.
      Danke nochmals,
      Axel

      Comment

      Working...
      X