Finden Sie die Bestellungen des letzten Monats und die Gesamtausgaben

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 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?

    Kommentar


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

      Kommentar


      • #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
        Zuletzt geändert von NadiaEira; 14.12.2024, 02:26.

        Kommentar


        • #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​​
          Zuletzt geändert von lauralorde; 24.12.2024, 03:37.

          Kommentar

          Lädt...
          X