我有一个用户表和profile_visits表
我正在尝试在profile_visits表中对访问者进行分组
我尝试了
SELECT users.ID, COUNT(profile_visits.profile_id) AS b_count
FROM users
INNER JOIN profile_visits on profile_visits.profile_id = users.ID
GROUP BY users.ID
HAVING COUNT(profile_visits.profile_id) > 1
ORDER BY users.ID ASC
有了这个,我可以获得访客总数,但不能将访客分组
有什么主意吗?
答案 0 :(得分:0)
据我了解,您根本不需要用户表
SELECT profile_id, COUNT(profile_visits.user_id) AS b_count
FROM profile_visits
HAVING b_count > 1
ORDER BY profile_id ASC
答案 1 :(得分:0)
您应该计算profile_visits.user_id
而不是profile_visits.profile_id
。然后使用DISTINCT
修饰符,这样您就只计算一次访问者,即可获得唯一身份访问者的数量。
SELECT users.ID, COUNT(DISTINCT profile_visits.user_id) AS b_count
FROM users
INNER JOIN profile_visits on profile_visits.profile_id = users.ID
GROUP BY users.ID
HAVING b_count > 1
ORDER BY users.ID ASC