我有2個表,用戶和事件:MYSQL:一月份擁有最多新用戶的國家?
**Users:**
usersid
age
geo_country
gender
**events:**
ts
usersid
event
videoid
Ts是時間戳字段。而可能的事件是「start_video」,「browse_catalog」,「exit_video」
我想找出哪個國家有最新用戶在一月份。
我的代碼如下:
SELECT DISTINCT (u.geo_country), COUNT(e.userid) As Users_Ids
FROM (SELECT userid, DATE(MIN(ts)) AS first_time
FROM events
WHERE ts BETWEEN '2017-01-01 00:00:00' and '2017-01-31 24:00:00'
GROUP BY userid) AS e
LEFT JOIN users u ON u.userid= e.userid
GROUP BY first_time
ORDER BY COUNT(e.userid) DESC;
由於我沒有會議場,是我的子查詢沒事在2017年一月提供新用戶?
任何幫助將不勝感激。
感謝,
克勞迪婭
不完全是。像現在查詢將選擇在一月你需要選擇'分(TS)'什麼有什麼事件的所有用戶,而不'between'選擇第一次登錄的所有用戶(或'分鐘(TS)爲FIRST_TIME其中TS <「2017-01 -31 24:00:00'')。只有然後檢查'first_time between ...' –