2016-08-01 30 views
0

Ich versuche, für jedes Datum die Vorschau 30 Tage zu summieren, aber es summiert nichts In der folgenden SQL versuche ich, für Bestelldatum X alle Bestellungen, die für If Date kamen > = Datum -30days SUM dann (Aufträge der letzten 30 Tage) ENDBIQQUERY - Zusammenfassung Vorschau 30 Tage

SELECT 
    a.Shop_Country 
    ,a.order_date 
    ,a.Order_Week 
    ,SUM(a.number_Orders) as orders 
    ,CASE WHEN a.Order_Date >= DATE_ADD(b.Order_Date, -30, "day") THEN SUM(a.number_Orders) ELSE 0 END as total_orders 
FROM 
    [marketing-int:finance_report.overall_view] a 
JOIN [marketing-int:finance_report.overall_view] b 
    ON a.Order_Date = b.Order_Date 

GROUP BY 
    a.Shop_Country 
    ,a.Order_Date 
    ,b.Order_Date 
    ,a.Order_Week 
    ,a.Order_Channel 
    ,a.number_Orders 
+0

Also was macht das? Sollen wir raten, was hier passiert? – Randy

+1

entfernen a.number_orders aus der Gruppe von Klausel – niketshah90

+0

Einige weitere Informationen würden helfen. Erhalten Sie einen Syntaxfehler? Schlägt die Abfrage fehl? Was versuchst du zu machen? Je mehr Informationen Sie geben, desto leichter können wir Ihnen helfen. –

Antwort

0

unter

SELECT 
    Shop_Country 
    ,order_date 
    ,Order_Week 
    ,SUM(number_Orders) OVER(PARTITION BY Shop_Country ORDER BY Order_Date 
     RANGE BETWEEN 29 PRECEDING AND CURRENT ROW) AS total_orders 
FROM 
    [marketing-int:finance_report.overall_view] 

Hoffnung Versuchen Sie, diese Start gut sein wird für Sie

SieheAbschnitt von Window functions für weitere Details