Week I Learned

[SQL]GROUP BY / ORDER BY 내가 원하는대로 묶고 정렬하기

마이초콜릿 2023. 2. 3. 16:46

쿼리 작성 방법

1) show tables로 어떤 테이블이 있는지 살펴보기
2) 제일 원하는 정보가 있을 것 같은 테이블에 select * from 테이블명 limit 10 쿼리 날려보기
3) 원하는 정보가 없으면 다른 테이블에도 2)를 해보기
4) 테이블을 찾았다! 범주를 나눠서 보고싶은 필드를 찾기
5) 범주별로 통계를 보고싶은 필드를 찾기
6) SQL 쿼리 작성하기!

 

[퀴즈] 앱개발 종합반의 결제수단별 주문건수 세어보기

select payment_method, count(*) from orders
where course_title = "앱개발 종합반"
group by payment_method;

결과출력 :

 

[퀴즈] Gmail 을 사용하는 성씨별 회원수 세어보기

select name, count(*) from users
where email like '%gmail.com'
group by name;

결과출력 :

[퀴즈] course_id별 '오늘의 다짐'에 달린 평균 like 개수 구해보기

select course_id, rount(avg(likes),1) from checkins
group by course_id;

결과출력 :

 

 

별칭기능 : Alias(알리아스)

SELECT payment_method, count(*) as cnt FROM orders o
WHERE o.course_title  = '앱개발 종합반'
group by payment_method

쿼리가 길어지면 course_title이 어디서 온건지 헷갈리기 때문에

orders를 o라 별칭을 주고 o.course_title이라 표기하여 orders 테이블 내에 있는 컬럼임을 쉽게 알수 있도록 한다.

 

열 이름이 count(*)  로 나오는게 보기 싫으므로 이를 cnt로 별칭을 지어주어 해결한다.

 

 

<숙제>

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

정답:

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

결과출력 :

 

 

 

아이 잼나!!