andi123: Unterabfragen, aber wie?

Hallo,

ich habe in einer Tabelle die Anzahl von verkauften Produkten fuer jeden Tag innerhalb eines Monats.

z.B.

Datum    Produkt     Anzahl
1.6.02   Produkt1    10
1.6.02   Produkt2    13
1.6.02   Produkt3    14
1.6.02   Produkt4    27
2.6.02   Produkt1    9
2.6.02   Produkt2    17
2.6.02   Produkt3    11
2.6.02   Produkt4    17
3.6.02   Produkt1    33
3.6.02   Produkt2    23
3.6.02   Produkt3    11
4.6.02   Produkt4    18
.
.
.

Nun moechte ich mit einer Abfrage die beiden bestverkauften Produkte (inkl. Summe der Anzahl) innerhalb eines bestimmten Zeitraumes ermitteln.
Ich daechte, das geht mit einer Unterabfrage, aber ich weiss nicht wie.

Kann mir da evtl. jemand helfen?

Danke Andi

  1. Hallo andi,

    mit einem
    Select .... WHERE ($datum BETWEEN $a AND $b) ORDER BY MAX(anzahl) LIMIT 0,2

    sollte es gehen.

    Grüße aus Würzburg
    Julian

    1. Hallo andi,

      mit einem
      Select .... WHERE ($datum BETWEEN $a AND $b) ORDER BY MAX(anzahl) LIMIT 0,2

      Aber da wird doch keine Summe der verkauften Anzahl gebildet,oder?

      Danke Andi

      1. Hallo andi,

        mit einem
        Select .... WHERE ($datum BETWEEN $a AND $b) ORDER BY MAX(anzahl) LIMIT 0,2

        Aber da wird doch keine Summe der verkauften Anzahl gebildet,oder?

        Danke Andi

        aber so:
        Select count(anzahl) WHERE ($datum BETWEEN $a AND $b) ORDER BY MAX

        1. Moin!

          Aber da wird doch keine Summe der verkauften Anzahl gebildet,oder?

          aber so:
          Select count(anzahl) WHERE ($datum BETWEEN $a AND $b) ORDER BY MAX

          Nö, auch das hilft nicht, die _Summe_ der meistverkauften Produkte herauszufinden. Und da ja auch das Produkt bekannt sein soll, und nicht nur eine Anzahl, muß dessen Name auch selektiert werden.

          SELECT SUM(anzahl) as summe, produkt FROM tabelle GROUP BY anzahl ORDER BY summe

          Angereichert mit WHERE und LIMIT sollte sich daraus eigentlich eine Top-Liste ergeben.

          - Sven Rautenberg