SQL 쿼리를 사용하여 주어진 월에 5보다 큰 페이지 뷰를 가진 사용자 수를 찾으려고합니다.그룹과 함께 where 절에 별칭 사용
적어도 5 페이지 뷰의 조건을 추가 할 수 없다는 점을 제외하고는 지금까지 내가 정확히 무엇을 말하고 있는지를 제외하고는 위와 같습니다. 현재 지정된 달에 최소 1 회의 페이지 뷰를 보유한 사용자의 수를 보여줍니다.
SELECT CONCAT(MONTH(analytics.date),'/',YEAR(analytics.date)) AS DATE,
COUNT(analytics.id) AS views,
COUNT(DISTINCT users.id) AS num_users
FROM users
LEFT JOIN analytics ON users.id = analytics.user_id
WHERE users.banned = 0
AND analytics.id IS NOT NULL
GROUP BY YEAR(analytics.date), MONTH(analytics.date)
나는 where 절에
AND views > 5
을 추가하는 시도하지만 알 수없는 열을받을대로 그 작동하지 않았다.
HAVING
절은 GROUP BY
이후에 적용되므로 5 페이지 뷰 이상인 개별 사용자를 찾아야한다고 생각하지 않습니다.
어떻게 그럴 수 있습니까?
한 달에 5 번 또는 전체적으로 5 번 조회? –
@ GordonLinoff 사용자는 적어도 5 페이지 뷰를 가져야 만합니다. 그런 다음 해당 달 동안이 모든 사용자의 수가 필요합니다. – Abs
** ** HAVING 절이 필요합니다. 사용자 ID가 필요한 경우 SELECT 및 GROUP BY 절에 추가해야합니다. –