BIGQUERY - 总结前 30 天
BIQQUERY - Summing previews 30 days
我正在尝试对预览 30 天的每个日期进行总结,但是,它没有总结任何东西
在下面的 SQL 中,我尝试获取订单日期 X 的所有订单 If Date >= Date -30days then SUM(Orders of last 30 days) END
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
尝试以下
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]
希望这对你来说是个好的开始
有关详细信息,请参阅 Window functions 的 window-frame-clause
部分
我正在尝试对预览 30 天的每个日期进行总结,但是,它没有总结任何东西 在下面的 SQL 中,我尝试获取订单日期 X 的所有订单 If Date >= Date -30days then SUM(Orders of last 30 days) END
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
尝试以下
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]
希望这对你来说是个好的开始
有关详细信息,请参阅 Window functions 的 window-frame-clause
部分