0
我想獲取客戶之間訂單分組之間的平均時間。我想這樣做與sqldf庫R.sqldf R - 訂單之間的天數 - 客戶端分組
測試數據:
> test
+ CLIENT ORDERS_DATE
+ 1 2014-09-22
+ 1 2014-12-16
+ 2 2014-10-08
+ 2 2014-10-12
+ 2 2014-10-26
+ 2 2014-11-06
sqldf代碼:
> avg.time.orders.before = sqldf("SELECT CLIENT , AVG(ORDERS_DATE - lag_orderdate) AS avg_time_between_orders
FROM (
SELECT CLIENT , ORDERS_DATE , LAG(ORDERS_DATE) OVER (PARTITION by CLIENT ORDER BY ORDERS_DATE) AS lag_orderdate
FROM test
)
GROUP BY CLIENT")
我得到了以下錯誤消息:「錯誤在sqliteSendQuery(CON,聲明, (「:語法錯誤」
'LAG(ORDERS_DATE)OVER'是SQL Server功能(由客戶端ORDER BY ORDERS_DATE分區); 'sqldf'(很可能)使用SQLite作爲它的SQL引擎,所以這是行不通的。 – nrussell
sqldf的默認值是SQLite,但如果需要可以使用其他驅動程序。看文檔。 –