걷기 시작한 Coding Novice

SQL

별칭을 사용하여 group by, order by, where 연습해보기

Spell 2022. 5. 22. 23:06

네이버 이메일을 사용하여 앱개발 종합반을 신청한 주문의 결제수단별 주문건수 세어보기

실습으로 위의 내용을 도출하기 위해 작성해보기 연습을 해보자.

 

우선 어느 테이블이 해당 내용의 데이터를 뽑아내는데 적절한지 살펴보자.

select *
from orders

orders테이블이 적당한 것 같다.

 

추가로 앱개발 종합반을 신청한 부분만 필요하니, where문구로 선택해주자.

select *
from orders o
where o.course_title = '앱개발 종합반'

 

이후 결제수단별로 묶어 주는게 좋겠지?

select *
from orders o
where o.course_title = '앱개발 종합반'
group by payment_method

 

이제 naver를 사용하는 email 것들로만 추려보자. 아마 like 패턴을 사용하면 될꺼같다.

select *
from orders o
where o.course_title = '앱개발 종합반'
like email = '%naver.com'
group by payment_method

어우 더블 벨류라는 오류가 뜬다. where절을 수정해주고 새로 쿼리를 작성해보자.

and를 활용해서 새로 작성해보는게 좋을 것 같다.

 

새로 작성하는 마음으로 naver email을 사용한 것들로 다시 추려보자.

select *
from orders o
where o.email like '%naver.com'

 

orders테이블에서 email이 naver인 것들로 추렸다.

이 중에서 '앱개발 종합반'으로 추가로 추려줘야 한다.

select *
from orders o
where o.email like '%naver.com'
and o.course_title = '앱개발 종합반'

email이 naver이면서 course_title이 '앱개발 종합반'인 데이터로 추려졌다.

 

이후 결제수단별로 묶어주고

select *
from orders o
where o.email like '%naver.com'
and o.course_title = '앱개발 종합반'
group by o.payment_method

 

count로 결제수단별 주문건수를 세어 줘야겠다

select o.payment_method, count(*)
from orders o
where o.email like '%naver.com'
and o.course_title = '앱개발 종합반'
group by o.payment_method

 

좀 더 보기 좋게 오름차순으로 정렬 및 count에 별칭을 달아주자.

select o.payment_method, count(*) as cnt
from orders o
where o.email like '%naver.com'
and o.course_title = '앱개발 종합반'
group by o.payment_method
order by o.payment_method desc

호우! 성공!

 


 

 


 

'SQL' 카테고리의 다른 글

Join (Left Join / Inner Join)  (0) 2022.05.22
Join을 왜 배우고 왜 써야하는가?  (0) 2022.05.22
SQL 별칭 기능 (Alias)  (0) 2022.05.22
Group by, Order by 연습해보기  (0) 2022.05.11
Order by 문자열은 정렬이 되는가?  (0) 2022.05.11