스파르타코딩클럽 SQL 2주차 개발일지

2주차 퀴즈
select payment_method, count(*) from orders
where course_title = ‘앱개발 종합반’
group by payment_method
select payment_method, count(*) from orders
where course_title = ‘앱개발 종합반’
group by payment_method
select name, count(*) from users
where email like ‘%gmail.com’
group by name
where email like ‘%gmail.com’
group by name
select course_id, count(*), avg(likes) from checkins
group by course_id
group by course_id
2주차 과제
네이버 이메일을 사용하여 앱개발 종합반을 신청한 주문의 결제수단별 주문건수 세어보기
SELECT payment_method, count(*) from orders
where email like ‘%@naver.com’ and course_title = ‘앱개발 종합반’
group by payment_method
알아둘 것
Group by : 범주별 통계내기
동일한 범주의 갯수는 count(*)를 사용
select 범주별로 세어주고 싶은 필드명, count(*) from 테이블명
동일한 범주 특정 필드의 최솟값은 min(필드명)을 사용
select 범주가 담긴 필드명, min(최솟값을 알고 싶은 필드명) from 테이블명
동일한 범주 특정 필드의 최댓값은 max(필드명)을 사용
select 범주가 담긴 필드명, max(최댓값을 알고 싶은 필드명) from 테이블명
동일한 범주 특정 필드의 평균값은 avg(필드명)을 사용
select 범주가 담긴 필드명, avg(평균값을 알고 싶은 필드명) from 테이블명
Order by : 범주별 정렬하기
오름차순 : asc or 기본 정렬이 오름차순
내림차순 : desc
Alias 별칭기능
select * from orders o
where o.course_title = '앱개발 종합반'
혹은 테이블명 뒤에 as 를 붙여서
select payment_method, count(*) as cnt from orders o
where o.course_title = '앱개발 종합반'
group by payment_method
쿼리 작성하는법
1) show tables로 어떤 테이블이 있는지 살펴보기
2) 제일 원하는 정보가 있을 것 같은 테이블에 select * from 테이블명 limit 10 쿼리 날려보기
3) 원하는 정보가 없으면 다른 테이블에도 2)를 해보기
4) 테이블을 찾았다! 범주를 나눠서 보고싶은 필드를 찾기
5) 범주별로 통계를 보고싶은 필드를 찾기
6) SQL 쿼리 작성하기!
728x90
반응형
'참톨공부' 카테고리의 다른 글
| [SQL] 3주차 개발일지 (0) | 2021.12.20 |
|---|---|
| [SQL] 1주차 개발일지 (0) | 2021.12.09 |
| 암호화폐 용어 공부 : 거버넌스 토큰(governance token) (0) | 2021.09.15 |
| 암호화폐 용어공부 : 거버넌스(governance) (0) | 2021.09.14 |
| 암호화폐 용어공부 : 스왑(Swap) (0) | 2021.09.13 |
댓글