-1
我有一個帶有地方和訪問表的表格。每1小時查找唯一身份用戶的平均訪問量
表:
Place(place_id(pk))
Visit(v_id, user_id, timestamp, place_id(fk))
我想找出一個地方有多少人訪問對平均每隔1小時在整個訪問表的獨特USER_ID的。
我有一個帶有地方和訪問表的表格。每1小時查找唯一身份用戶的平均訪問量
表:
Place(place_id(pk))
Visit(v_id, user_id, timestamp, place_id(fk))
我想找出一個地方有多少人訪問對平均每隔1小時在整個訪問表的獨特USER_ID的。
要與DATE(timestamp), HOUR(timestamp)
COUNT(DISTINCT user_id, DATE(timestamp), HOUR(timestamp))
計算每個用戶每個不同的時間,你可以將它們只有一次爲了得到不同的小時數,你可以使用
TIMESTAMPDIFF(HOUR, MIN(timestamp), MAX(timestamp))
或
COUNT(DISTINCT DATE(timestamp), HOUR(timestamp))
這可能較慢但可能更準確。
然後用一個師來獲取AVG:
SELECT place_id,
COUNT(DISTINCT user_id, DATE(timestamp), HOUR(timestamp))
/TIMESTAMPDIFF(HOUR, MIN(timestamp), MAX(timestamp)) AS avg_visits_per_hour
FROM Visit
GROUP BY place_id