1. enrolled_id데이터가 들어있는 enrolled를 열어준다.
SELECT
*FROM enrolleds e
2. done 데이터가 들어 있는 enrolleds_detail 를 열어서 enrolled 와 join 해줄 데이터를 찾는다.
SELECT * FROM enrolleds_detail ed
3. enrolled_id 로 join 시켜 열어 준다.
inner join enrolleds_detail ed on e.enrolled_id = ed.enrolled_id
4. 수강완료 한 (done = 1) 강의 갯수를 세기 위해 수강완료 한 데이터를 열어준다.
where done = 1
5. enrolled_id 별 수강완료(done=1) 갯수를 세어준다.
SELECT e.enrolled_id, user_id, COUNT(*) as max_count FROM enrolleds e
GROUP BY e.enrolled_id
6. 완료한 강의 수가 많은 순서대로 정렬한다.
ORDER BY count(*) DESC
7. user_id도 같이 출력해주고 count(*)의 이름을 max_count로 바꿔준다.
SELECT e.enrolled_id, user_id, COUNT(*) as max_count FROM enrolleds e
ORDER BY max_count DESC
'[왕초보] 엑셀보다 쉬운, SQL' 카테고리의 다른 글
엑셀보다 쉬운 SQL - 4주차 (0) | 2023.05.16 |
---|---|
엑셀보다 쉬운, SQL 2주차 (1) | 2023.05.12 |
엑셀보다 쉬운 SQL! 1주차 - 숙제 (0) | 2023.05.11 |