위 사진을 보면 노란색은 7월 , 파란색은 8월이라고 하면 저렇게 보는 것보다 위아래로 나란히 모아서 보는게 더 편하다.
그래서 우리가 만들고 싶은것은 아래 사진과 같다. 7월에 8월을 밑에 붙여주자는 거다.
그러니 일단 아래 코드를 복사해서 붙여넣자.
select c1.title, c2.week, count(*) as cnt from courses c1
inner join checkins c2 on c1.course_id = c2.course_id
inner join orders o on c2.user_id = o.user_id
where o.created_at >= '2020-08-01'
group by c1.title, c2.week
order by c1.title, c2.week
전에 작성했던거다. 위 사진과 비교하면 지금 출력되는 값은 8월달꺼다.
그래서 앞에 8월이라 쓰고 값을 month라고 써줄꺼다.
아래 사진처럼 작성해주면 된다.
이건 전체 다 8월로 찍어주자는 말이다.
이번엔 7월을 한번 찍어보자. 코드를 그대로 복사해서 띄어서 붙여넣고 실행해보면 잘 나오는것을 볼 수 있다.
그래서 이 두개를 잇는다는거다.
이렇게 작성하면 아래 사진처럼 나온다.
위 사진을 보면 order by를 했던게 먹히지 않고 같은숫자가 나오면서 깨진다.
이건 union 이 order by가 먹히지 않아서 그렇다.
그래서 코드에 order by를 없애도 결과는 달라지는게 없다.
합친거에서 order by를 해야 먹힌다.
이게 4주차에 나오는 서브쿼리에 대한 개념을 알고있으면 아주 쉽게 할 수 있다.
다음시간엔 숙제다.
'SQL 공부(ft.sparta) > 3주차' 카테고리의 다른 글
3주차 끝 숙제 (0) | 2023.04.28 |
---|---|
3-6. Left Join - 복습해보기 (0) | 2023.04.28 |
3-5. 한번 더 총 복습 (0) | 2023.04.28 |
3-4. 실전, 본격 쿼리 작성해보기 (0) | 2023.04.28 |
3-3. 배웠던 문법을 Join과 함께 사용해보기 (0) | 2023.04.28 |