220304. 엑셀보다 쉬운 SQL 2주차 - Group by, Order by
Select, Where로 '날것 그대로'가져온 데이터를 '의미 있는 정보'로 변환 !
통계(최소, 최대, 평균, 갯수) 등등
Group by로 동일한 범주의 데이터를 묶어주고, Order by로 데이터를 깔끔하게 정렬할 수 있음
Group by
같은 범주의 데이터를 묶어줌. (~~~별 어쩌구 저쩌구하면 group by를 떠올려라)
작성할 때 순서! : 사용법 아는 문법이라고 첫줄부터 완성본처럼 써내려가지 말고, 다음의 순서처럼 차근차근해야 실수가 없음.
동일한 범주 개수 구하기 - count(*)
select 범주별로 세어주고 싶은 필드명, count(*) from 테이블명
group by 범주별로 세어주고 싶은 필드명;
동일한 범주에서의 최솟값 구하기 - min(필드명)
select 범주가 담긴 필드명, min(최솟값을 알고 싶은 필드명) from 테이블명
group by 범주가 담긴 필드명;
동일한 범주에서의 최댓값 구하기 - max(필드명)
select 범주가 담긴 필드명, max(최댓값을 알고 싶은 필드명) from 테이블명
group by 범주가 담긴 필드명;
동일한 범주의 평균 구하기 - avg(필드명)
select 범주가 담긴 필드명, avg(평균값을 알고 싶은 필드명) from 테이블명
group by 범주가 담긴 필드명;
cf) 소수점 반올림하기 - round로 묶어주면 됨! 소수점 몇째자리까지 보여줄지도 표시!
동일한 범주의 합계 구하기 - sum(필드명)
select 범주가 담긴 필드명, sum(합계를 알고 싶은 필드명) from 테이블명
group by 범주가 담긴 필드명;
Order by
결과 정렬하기! 정렬은 다 뽑고 마지막에 하는 것.
숫자 뿐만 아니라 문자열, 시간순으로도 정렬가능함.
Where와 함께 써보기
어렵게 생각할 필요없음. 걍 where로 조건이 추가될 뿐
- [퀴즈] 앱개발 종합반의 결제수단별 주문건수 세어보기
- [퀴즈] Gmail 을 사용하는 성씨별 회원수 세어보기
- [퀴즈] course_id별 '오늘의 다짐'에 달린 평균 like 개수 구해보기
Alias
별칭기능. 쿼리가 길어지면 한눈에 들어오기 힘들기 때문에 별칭기능으로 테이블, 필드에 붙는 거
1. 테이블 명 뒤에 약자 (보통 알파벳 1~2글자) 붙이면, 나중에 필드명에 붙여서 좀 더 구체적으로 명시할 수 있음.
2. ~as ~
[숙제]
네이버 이메일을 사용하여 앱개발 종합반을 신청한 주문의 결제수단별 주문건수 세어보기