Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: SQL Abfrage mit Zusammenfassung

    Schreinermeister

    • Fördermitglied
    • Beiträge: 415
    • Geschlecht:
    SQL Abfrage mit Zusammenfassung
    am: 26. August 2022, 08:50:26
    Hallo zusammen,

    ich bastle nun seit einiger Zeit an einer Datenbankabfrage um die Daten einer definierten Artikelnummer inerhalb eines definierten Zeitraums aus der DB zu lesen um eine Grafik der verkauften Stückzahlen auf einem Zeitstahl darzustellen.

    Wenn nun der Artikel mehrmals an einem Tag gekauft wurde, würde ich diese Werte gerne für diesen Tag summieren.
    Habs mit  GROUP BY versucht, komme aber nicht weiter, da der Kaufzeitpunkt "date_purchased" ja mit Stund,Minute,Sekunde gespeichert wird und daher keine Übereinstimmung voranden ist.

    bisher habe ich
    Code: PHP  [Auswählen]
    $artikelnummer = (isset($_POST['artikelnummer']) && $_POST['artikelnummer'] != '') ? ' AND p.products_model = "' . xtc_db_input($_POST['artikelnummer']) . '"' : '';
     

    Code: SQL  [Auswählen]
    xtc_db_query('SELECT * FROM ' . TABLE_ORDERS_PRODUCTS . ' p, ' . TABLE_ORDERS . ' o                                            
                         WHERE (o.date_purchased BETWEEN "'
    . xtc_db_input($start) . '" AND "' . xtc_db_input($end) . '")
                         AND o.orders_id = p.orders_id
                          '
    . $artikelnummer .'
                          ORDER BY o.date_purchased ASC'
    );

    Kann ich das in SQL auf das Datum einschränken?
    Oder müssen die Daten im Anschluss der Abfrage noch entsprechend per PHP überarbeitet werden.

    Für eine Tipp wäre ich sehr dankbar.

    Gruß Chris

    Linkback: https://www.modified-shop.org/forum/index.php?topic=42530.0

    Q

    • Fördermitglied
    • Beiträge: 1.531
    Re: SQL Abfrage mit Zusammenfassung
    Antwort #1 am: 26. August 2022, 09:44:05
    Jup. Geht. 1. Treffer bei der SuMa https://www.delftstack.com/de/howto/php/how-to-convert-a-timestamp-to-a-readable-date-or-time-in-php/   ;-)

    *edit* Das "SELECT *" musst dafür halt geändert werden. Vermute, du brauchst eh nicht alle Spalten

    spambot

    • Neu im Forum
    • Beiträge: 3
    Re: SQL Abfrage mit Zusammenfassung
    Antwort #2 am: 26. August 2022, 12:12:00
    @Schreinermeister
    eigentlich kein großes Hexenwerk. Hier mal rein SQL für alle Arikel im Jahr 2021.
    Nimm einfach den Kommentar raus, um es auf einen bestimmten Artikel (hier 1234) zu begrenzen.
    Den Zeitraum must du natürlich durch deine Varaiblen ersetzen.
    (ohne Gewähr, eben auf die Schnelle zurecht geschustert  :-))
    Code: SQL  [Auswählen]
    SELECT op.products_id, SUM(products_quantity) AS Anzahl, CAST(o.date_purchased AS DATE) AS Tag
    FROM orders_products op INNER JOIN orders o ON op.orders_id = o.orders_id
    WHERE CAST(o.date_purchased AS DATE) BETWEEN '2021-01-01' AND '2021-12-31'

    -- AND products_id = 1234

    GROUP BY Tag, op.products_id
    ORDER BY Tag ASC, products_id ASC;
    2 Antworten
    1339 Aufrufe
    09. Juni 2017, 11:31:43 von hzs123456
    12 Antworten
    807 Aufrufe
    27. Januar 2023, 16:18:25 von hzs123456
    1 Antworten
    2070 Aufrufe
    09. Oktober 2012, 14:31:17 von patla
    0 Antworten
    1785 Aufrufe
    02. Mai 2015, 20:23:49 von ttsarche