我有一個查詢在我們的MYSQL數據庫上運行。它需要永遠運行,所以我想用BigQuery來代替。相關表格(a.xxx)已經在雲端,我已經嘗試調整BQ的代碼,但我沒有任何運氣。該查詢基本上拉了一天中進行購買的個人數量,以及那些在初次購買後1-7天再次購買的個人的數量相同的個人。我將不勝感激任何幫助!!!!使用date_add函數和BQ的時間間隔翻譯MYSQL查詢的問題
下面是該查詢:
select f.fts_date,
count(distinct f.FTS_id) as FTS_count,
count(distinct s.passportid) as SVS_count,
(count(distinct s.passportid)/count(distinct f.FTS_id)) as return_rate
from
(select passportid as FTS_id,addressid, date(signdatetime) as FTS_date from a.xxx
where date(signdatetime)>'2015-6-10' and fts="Y" and disposition="accepted") as f
left join a.xxx as s
on f.passportid=s.passportid and f.addressid=s.addressid and s.disposition="accepted" and
s.signdatetime between date_add(f.signdatetime, 1, "DAY") and date_add(f.signdatetime, 7, "DAY")
group by 1
你能添加a.xxx表的表定義?另外這行:和fts =「N」看起來很有趣:一個別名(fts)怎麼可能是一個值「N」。也許最好不要使用也是列名的別名。 –
我改變了別名和一些列名,以免混淆。最初,我改變了它,所以爲了將它發佈到在線論壇上,代碼更通用。 – Srini
相關列的架構:passportid,整數,可爲空的addressid,整數,可爲空的signdatetime,時間戳,可爲空的當前錯誤爲:錯誤:ON子句必須是AND的= =每個表的一個字段名的比較,所有字段名都以表名稱。 – Srini