Statistik aus DB ziehen

Thema wurde von FlorianR, 23. Januar 2016 erstellt.

  1. FlorianR

    FlorianR Erfahrener Benutzer

    Registriert seit:
    20. November 2015
    Beiträge:
    1.314
    Danke erhalten:
    236
    Danke vergeben:
    932
    Hallo,

    ich würde gerne einen Bericht aus meiner Shop-DB ziehen, aus der ich ersehe, an welchem Tag (oder noch besser: in einem anzugebenden Zeitraum) ich welchen Artikel (nach Artikelnummer) wie oft verkauft habe.

    So ganz grundlegendes Wissen um mySQL Befehle ist vorhanden, aber nicht soviel, dass ich die Abfrage hinbekomme.

    Jemand einen Tip? Danke!
     
  2. Developer

    Developer Erfahrener Benutzer

    Registriert seit:
    7. November 2012
    Beiträge:
    2.884
    Danke erhalten:
    617
    Danke vergeben:
    113
    #2 Developer, 24. Januar 2016
    Zuletzt bearbeitet: 24. Januar 2016
    Hallo Florian,

    Ohne Gewähr und ungetestet hab ich Dir mal was gerade geschrieben:

    Code:
    SELECT op.products_model, op.products_name, sum(op.products_quantity) as ordered_items_total 
    FROM orders o, orders_products op
    WHERE o.orders_id = op.orders_id
    AND op.products_model = '12345'
    AND date_purchased between '2010-01-01 00:00:00' and '2016-01-24 23:59:59'
    Das Ganze ist natürlich auf dieser Grundlage ausbaufähig und hilft hoffe ich anderen auch! :)

    Ich gehe mal davon aus, wie Du diesen Befehl verwendest. Du musst den Zeitraum und die Artikelnummern ersetzen gegen deine Anforderung!
     
  3. Christian Mueller

    Christian Mueller Beta-Held

    Registriert seit:
    4. Juli 2011
    Beiträge:
    3.675
    Danke erhalten:
    878
    Danke vergeben:
    288
    Ich habs mal mit täglicher Summe gebaut. Ich bekomme es allerdings nicht mit deutschem Datumsformat richtig sortiert: mit '%d.%m.%Y' klappt das nicht. So geht's:

    Code:
    SELECT DATE_FORMAT(o.date_purchased,'%Y-%m-%d') AS Datum,op.products_model, op.products_name, sum(op.products_quantity) as ordered_items_total 
    FROM orders o, orders_products op
    WHERE o.orders_id = op.orders_id
    AND op.products_model = '9006'
    AND o.date_purchased between '2010-01-01 00:00:00' and '2016-01-24 23:59:59'
    GROUP BY Datum ASC
     
  4. Developer

    Developer Erfahrener Benutzer

    Registriert seit:
    7. November 2012
    Beiträge:
    2.884
    Danke erhalten:
    617
    Danke vergeben:
    113
    Warum das zuerst nicht mit deiner Variante geklappt hat, hast Du ja richtig erkannt. :)

    Ob täglich (Zeilenweise) oder in einem Datensatz kann Florian sich ja aussuchen.

    Für mich ist die Schreibweise des Datums so nicht störend, muss aber immer wieder feststellen, dass Kunden damit nicht zurechtkommen. Naja, so ist das halt.
     
  5. FlorianR

    FlorianR Erfahrener Benutzer

    Registriert seit:
    20. November 2015
    Beiträge:
    1.314
    Danke erhalten:
    236
    Danke vergeben:
    932
    Sehr sehr geil - so hilft mir das super weiter!!!!

    Vielen Dank - bin echt begeistert!