2
我有以下表格:SQL /紅移:第一次購買之前查詢用戶行爲
Table: users
id | created_ts | username_str
---------------------------------
Table: activity
user_id | created_ts | activity_descr_str
---------------------------------
Table: purchase_orders
id | user_id | created_ts | price
users.id是主鍵到外鍵user_id說明。 我想知道有多少用戶在首次購買之前有< = 3個活動。但僅適用於日期X之後新加入的用戶(說'2016-08-01')。
非常感謝。
編輯,2016年10月6日:
這是我已經試過:
SELECT COUNT(DISTINCT user_id)
FROM (SELECT po.user_id
FROM purchase_orders po
LEFT JOIN activity a USING (user_id)
JOIN users u ON u.id = po.user_id
WHERE DATE (po.created_ts) >= '2016-08-01'
AND a.created_ts < po.created_ts
GROUP BY 1
HAVING COUNT(a.created_ts) <= 3)
你的問題應該包括你已經嘗試代碼。這看起來像一個家庭作業類型的問題。 –
是的,你是對的。我已經添加了我的代碼。正如我懷疑我的代碼產生了與您不同的結果,@GordonLinoff。我不太明白爲什麼,因爲兩者看起來都很相似。 – McRalphie