728x90
반응형
데이터베이스에서 사용 횟수별 사용자 수를 구하는 SQL 쿼리는 아래 사용자의 활동 로그 기반 예시로 작성할 수 있습니다.
✅ 예제 테이블 (user_logs)
사용자의 활동(로그인, 조회, 결제 등)이 기록된 로그 테이블이 있다고 가정하겠습니다.
user_id | action | action_date |
1 | login | 2024-03-01 |
1 | purchase | 2024-03-02 |
1 | view_page | 2024-03-02 |
2 | login | 2024-03-01 |
2 | view_page | 2024-03-03 |
3 | login | 2024-03-01 |
3 | purchase | 2024-03-04 |
3 | view_page | 2024-03-05 |
3 | view_page | 2024-03-05 |
✅ SQL 쿼리 (사용 횟수별 사용자 수 집계)
SELECT usage_count, COUNT(user_id) AS user_count
FROM (
SELECT user_id, COUNT(*) AS usage_count
FROM user_logs
GROUP BY user_id
) AS user_usage
GROUP BY usage_count
ORDER BY usage_count;
✅ 결과 예시
usage_count | user_count |
1 | 1 |
2 | 1 |
4 | 1 |
📌 설명:
- user_logs에서 각 사용자의 활동 횟수를 COUNT()로 계산
- GROUP BY user_id로 개별 사용자의 사용 횟수(usage_count)를 구함
- 최종적으로 같은 사용 횟수를 가진 사용자 수를 COUNT()
✅ 변형 쿼리 (특정 기간 내 사용 횟수별 사용자 수 구하기)
특정 기간(예: 2024년 3월)에 대한 사용 횟수별 사용자 수를 구하는 예시 쿼리는 아래 참고하세요!
SELECT usage_count, COUNT(user_id) AS user_count
FROM (
SELECT user_id, COUNT(*) AS usage_count
FROM user_logs
WHERE action_date BETWEEN '2024-03-01' AND '2024-03-31'
GROUP BY user_id
) AS user_usage
GROUP BY usage_count
ORDER BY usage_count;
이렇게 하면 "3월 한 달 동안 사용 횟수별 사용자 수"를 확인 가능합니다~
감사합니다.
300x250
반응형