본문 바로가기

카테고리 없음

스파르타 코딩클럽 - 엑셀보다 쉬운 SQL 2주차

Group by, Order by 

 

1회차에서 배운건 원하는 데이터만 쏙쏙 뽑아내는거~ 

이제부터는 약간의 통계를 낼 수 있도록 뽑아보자! 

 

최대/최소/평균/갯수 등 

날것의 데이터를 -> 의미있는 정보로 변환 

더 나아가면 '범주(카테고리)'가 궁금할 수 있습니다.

ex. 과목별 신청자 평균 연령, 과목별 신청자수, 이씨성 가진 사람 수~ 

 

 

select name, count(*) from users

group by name 

 

네이버메일을 쓰는 사람 중에 성씨별로 사람 수 

 

동일한 범주의 개수 구하기 : group by, count()

동일한 범주의 최소값 구하기 : min(필드명)

최대값구하기 : max(필드명)

평균값: avg(필드명) 평균에서 반올림~ 으찌하노~  round(avg(필드명),2) round, 소수점몇째짜리까지~

합계: sum(필드명) 좋아요의 합계 sum(likes)

 

 

 

order by

정렬은 맨 마지막에 한다! 

order by count(*) desc 

기본정렬은 오름차순(asc)이다. 내림차순은 뒤에 desc 붙인다~ 

 

order by는 숫자 말고 문자열기준 정렬도 가능 (알파벳~ 한글~)

시간도 가능 (날짜/시간)

 

퀴즈 

1) 앱개발 종합반의 결제수단별 주문건수 세어보기 

2) gmail을 사용하는 성씨별 회원수 세어보기 

3) course_id별 오늘의 다짐에 달린 평균 like 개수 구해보기 

 

 

Alias 별칭기능 

쿼리가 너무 길어지면 헷갈려지기 때문에 별칭 기능을 지원한다. 

테이블명 뒤에 알파벳 붙이고 

orders o

o.course_title -> orders 테이블에 있는 course_title 필드를 말하는거야~ 

 

count(*) as cnt

count(*) 필드를 cnt라고 부르자~~ 

 

숙제 

네이버 이메일을 사용하여 앱개발 종합반을 신청한 주문의 

결제수단별 주문건수 세어보기