2017-02-10 110 views
0

能約1幫助我與SQL紅移查詢,得到的結果如下SQL紅移選擇查詢來獲取總銷售額遞減

3列
order_date的,daily_sale(發售THT一天進行)中提到的方式,total_sale (total_sale直到日期) order_date daily_sale total_sale 2017-01-31 1830 206316.4 2017-01-30 2487.5 206316.4 2017-01-29 5456 206316.4 2017-01-28 2786.2 206316.4 2017-01-27 2337 206316.4 2017-01-26 1404.2 206316.4

怎麼能以這樣的方式

order_date daily_sale total_sale 2017-01-31 1830 206316.4 2017-01-30 2487.5 204486.4 (206316.4 -1830) 2017-01-29 5456 201999.4 (206316.4 -1830-2487.5) and so on

回答

1

我不知道拿到總銷售的服務(DB)支持或不支持窗口功能。

如果是的話,你可以試試這個查詢:

(放,而不是ttt你的表名)

SELECT ttt.order_date, daily_sale, total_sale, daily_sale+total_sale-t.total_last_daily AS desirable_column FROM ttt 
INNER JOIN (SELECT order_date, SUM(daily_sale) OVER(ORDER BY order_date desc) total_last_daily FROM ttt) AS t 
ON ttt.order_date = t.order_date 
ORDER BY ttt.order_date DESC 
+0

非常感謝它的工作 但我們需要添加 '(SUM(daily_sale) OVER(ORDER BY order_date desc ROWS UNBOUNDED PRECEDING) ' 在內部查詢中,否則會引發錯誤 '具有ORDER BY子句的聚合窗口函數需要一個框架子句' 但仍thnx的解決方案 – ankitkhanduri

+0

不客氣,我從來沒有使用'amazon-redshift',但我的查詢很好地工作SQL SERVER。很高興如果這對你有幫助 –