데이터분석 과정/SQL

SQL 2주차 강의 노트정리 [국비지원_스파르타 코딩클럽]

ANNASENA 2023. 1. 17. 09:00
728x90

스파르타 코딩클럽 SQL 2주차 강의 '핵심' 노트정리

스파르타 코딩클럽 SQL 2주차 강의 '핵심' 노트정리

1. 통계 : 최대 / 최소 / 평균 / 개수

* 최대 : max(필드명)

* 최소: min(필드명)

* 평균: avg(필드명)

* 개수: count(필드명)

* 합계: sum(필드명

 


2. Group by (그룹화 할 필드명)

: 동일한 범주의 데이터를 하나로 묶어서, 범주별 통계를 내주는 것

문제) 성씨 별몇 명의 회원이 있는지 알아보기 (users 테이블 참고)

 

select name, count(*) from users
group by name

 

012
group by 사용 순서

★쿼리문 작성 순서 중요(2번, 3번)★

 

1. [Select * from 테이블]로 users 테이블 전체를 불러오기  

2. Group by를 사용해서 같은 성씨(name) 별로 묶기

3. [Select ~ from 테이블]에서 '~ 자리'읽어올 필드명 적기

→ 그룹화한 성씨(name) 데이터, 성씨(name) 별 데이터의 개수를 세주는 count(*)

4. 성씨 별 회원 수 세주기 끝!

 

▶ 개수 대신에 최댓값 / 최솟값 / 평균 / 합계를 구하고 싶으면 

count 대신 각각 max / min / avg / sum을 적어주면 됨.

 


3. Order by (정렬할 필드명) asc / desc

: 오름차순(asc) 또는 내림차순(desc)으로 정렬해주는 것

ex. ↓ 위 문제의 결과로 나온 count 값을 내림차순으로 정렬 ↓

 

order by ~ desc

 


4. Where절과 Group by, Order by 같이 사용해보기

문제) 앱개발 종합반결제수단 별 주문 건수 세어보고, 내림차순 정렬하기
(orders 테이블 참고)

 

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

 

where절, group by, order by

 


5. 이외 유용한 문법 배워보기

*별칭 기능: Alias

ex. ↓ 위 문제의 결과에서 Alias를 이용해 count(*)의 별칭cnt로 정해줌 ↓

 

as cnt

 

728x90