0
所以我有購買的表:
USER_ID
purchase_time
量
的BigQuery - 左連接上最近的右表中的記錄,但是不能超出左表的時間戳
而且我有一個表網站上的用戶活動:
USER_ID
位置
browse_time
如何將活動表中的購買表加入最近的browse_time活動而不超過purchase_time?
例如,如果我有購表人:
user_id Purchase_time amount
------- ------------------- ------
1 2012-12-13 12:30:00 $20
2 2012-12-14 23:00:00 $50
和我有活動表:
user_id browse_time location
------- ----------- ---------
1 2012-12-14 23:00:00 Product 3
1 2012-12-13 12:00:00 Product 1
1 2012-12-13 11:30:00 Product 2
2 2012-12-15 00:00:00 Product 5
2 2012-12-14 22:30:00 Product 7
2 2012-12-14 20:00:00 Product 6
我想有以下輸出:
user_id purchase_time browse_time location amount
------- ----------------- --------------- ---------- -------
1 2012-12-13 12:30:00 2012-12-13 12:00:00 Product 1 $20
2 2012-12-14 23:00:00 2012-12-14 22:30:00 Product 7 $50
我試過mysql語法,它沒有工作。我知道bigquery在「on」上不允許「<」或「>」加入語句。那麼,甚至有可能在Big Query中做到這一點?
謝謝巴拉茲。不幸的是,這將返回最近的,而不是購買之前發生的最新活動(在您的查詢中沒有篩選器)。此外,在購買之前沒有能力獲得一個位置,而不是購買者以前見過的所有位置(以及您的情況,也是購買後)。我能做些什麼來進一步過濾結果。目前我正在運行類似的東西,但結果太大而無法返回。 – user1932483
您可以添加where子句,例如'WHERE pur.browse_time
嗨喬丹,所以添加條款會得到每一個超過購買時間的無形時間。有沒有辦法讓最後一個小於購買時間,而沒有超過時間?兩張桌子之間只有一對一的關係? – user1932483