Finden Sie die Bestellungen des letzten Monats und die Gesamtausgaben

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

  • Finden Sie die Bestellungen des letzten Monats und die Gesamtausgaben

    Ich möchte alle Kunden finden, die im letzten Monat eine Bestellung aufgegeben haben, und den Gesamtbetrag, den jeder Kunde ausgegeben hat. Wenn ich jedoch die folgende Abfrage ausführe, erhalte ich falsche Ergebnisse:
    Code:
    SQL
    SELECT c.name, o.order_date, o.total_amount
    VON Kunden c
    INNER JOIN-Bestellungen o ON c.id = o.customer_id
    WHERE o.order_date >= CURDATE() - INTERVALL 1 MONAT;​
    Warum liefert diese Abfrage möglicherweise falsche Ergebnisse? Wie kann ich das Problem beheben, um Kunden, die im letzten Monat bestellt haben, und deren Gesamtausgaben genau anzuzeigen?

  • #2
    Hast du ein Foto oder etwas detaillierteres?

    Comment


    • #3
      Deine Übersetzungssoftware hat den SQL Code geschreddert und Schlüsselwörter mit übersetzt...

      Comment


      • #4
        Die von Ihnen bereitgestellte SQL-Abfrage könnte aus mehreren Gründen falsche Ergebnisse liefern: Probleme mit der Abfrage:
        1. Fehlende Gruppierung:
          • Die Abfrage zeigt die Gesamtbeträge (o.total_amount) für jede Bestellung (o.order_date) an. Wenn ein Kunde mehrere Bestellungen im letzten Monat getätigt hat, erscheinen diese als separate Zeilen, anstatt die Gesamtausgaben des Kunden zu summieren.
        2. Zeitbereichsberechnung:
          • Die Bedingung o.order_date >= CURDATE() - INTERVALL 1 MONAT erfasst möglicherweise nicht den gesamten letzten Monat (z. B. vom 1. bis zum letzten Tag des vorherigen Monats). Stattdessen betrachtet sie ein gleitendes Intervall von 30 Tagen ab heute, was zu inkonsistenten Ergebnissen führen kann.
        ​--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        cookie clicker
        Last edited by NadiaEira; 14-12-2024, 02:26.

        Comment


        • #5
          Erklärung der Änderungen
          1. Zeitraum-Filter:
            • DATE_FORMAT(CURDATE() - INTERVAL 1 MONTH, '%Y-%m-01') gibt den ersten Tag des vorherigen Monats zurück.
            • DATE_FORMAT(CURDATE(), '%Y-%m-01') gibt den ersten Tag des aktuellen Monats zurück.
            • Der Zeitraum zwischen diesen beiden Datumsangaben umfasst exakt den vorherigen Monat.
          2. Summierung der Ausgaben:
            • SUM(o.total_amount) berechnet die Gesamtausgaben eines Kunden für alle Bestellungen im angegebenen Zeitraum.
          3. Gruppierung:
            • GROUP BY c.name stellt sicher, dass die Gesamtausgaben pro Kunde berechnet werden.

          ​​----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- geometry dash​​
          Last edited by lauralorde; 24-12-2024, 03:37.

          Comment

          Working...
          X