day5 는
데이터 그룹화하기
그룹에 조건 주기
다양한 그룹 함수 알아보기
쿼리 실행 순서 알아보기
의 항목들을 데이터 그룹화하기라는 주제로 기본적인 교육을 마저 진행하였다.
오늘 배운 교육을 바탕으로 실습을 진행해 보겠다.
오늘은 데이터를 그룹화해서 통계를 내 볼 것이다.
주어지는 테이블은 이 테이블을 참고 할 것이다.

실습1
포켓몬 테이블에서 이름(name)의 길이가 5보다 큰 포켓몬들을 타입(type)을 기준으로 그룹화하고, 몸무게(weight)의 평균이 20 이상인 그룹의 타입과, 몸무게의 평균을 가져와 주세요.
이 때, 결과는 몸무게의 평균을 내림차순으로 정렬해 주세요
length함수를 사용하여 이름의 길이를 구한다
group by를 사용하여 type기준으로 그룹화하고
having 절을 이용하여 그룹에 조건을 부여한다.
마지막으로 order by를 이용해 desc를 넣어 내림차순 정렬한다.


실습2
포켓몬 테이블에서 번호(number)가 200보다 작은 포켓몬들을 타입(type)을 기준으로 그룹화한 후에, 몸무게(weight)의 최댓값이 10보다 크거나 같고 최솟값은 2보다 크거나 같은 그룹의 타입, 키(height)의 최솟값, 최댓값을 가져와 주세요.
이 때, 결과는 키의 최솟값의 내림차순으로 정렬해 주시고, 만약 키의 최솟값이 같다면 키의 최댓값의 내림차순으로 정렬해주세요
where절을 이용해 전체 조건을 부여한다.
group by를 사용하여 type기준으로 그룹화하고
having 절을 이용하여 그룹에 조건을 부여한다.
마지막으로 order by를 이용해 desc를 넣어 정렬하는데 select 절에 입력된 순서대로 숫자를 이용해 표현할 수 있다.


실습3
포켓몬의 타입 별 키의 평균을 가져와 주세요
group by를 사용하여 type기준으로 그룹화하여 나타낸 기본적인 쿼리


실습4
몸무게의 평균이 20 이상인 포켓몬의 타입을 가져와 주세요
group by를 사용하여 type기준으로 그룹화하고
having 절을 이용하여 그룹에 조건을 부여한다.


실습5
포켓몬의 타입 별 번호(number)의 합을 가져와 주세요
group by를 사용하여 type기준으로 그룹화하고
SUM :
§ 그룹의 합을 계산하는 함수 § SUM([컬럼 이름]) 형식으로 SELECT, HAVING 절에서 사용합니다.
§ 집계할 컬럼 이름은 그룹의 기준이 되는 컬럼 이름과 같아도 되고, 같지 않아도 됩니다.
§ GROUP BY가 없는 쿼리에서도 사용 가능하며, 이때는 전체 로우에 함수가 적용 됩니다.


실습6
키가 0.5 이상인 포켓몬이 포켓몬의 type 별로 몇 개씩 있는지 가져와 주세요
where절로 조건을 준뒤
group by를 사용하여 type기준으로 그룹화하고
count함수를 이용하여 갯수를 샌다.
COUNT :
§ 그룹의 값 수를 세는 함수
§ COUNT([컬럼 이름]) 형식으로 SELECT, HAVING 절에서 사용합니다.
집계할 컬럼 이름은 그룹의 기준이 되는 컬럼 이름과 같아도 되고, 같지 않아도 됩니다
. COUNT(1)은 하나의 값을 1로 세어주는 표현으로 COUNT 함수에 자주 사용합니다.
§ GROUP BY가 없는 쿼리에서도 사용 가능하며, 이때는 전체 로우에 함수가 적용 됩니다.


실습7
포켓몬 타입 별 키의 최솟값을 가져와 주세요
group by를 사용하여 type기준으로 그룹화하고
min 함수를 이용하여 최솟값을 추출한다


실습8
키의 최솟값이 0.5보다 크고 몸무게의 최댓값이 30보다 작은 포켓몬 타입을 가져와 주세요
group by를 사용하여 type기준으로 그룹화하고
having절을 이용해 그룹의 조건을 부여하는데 비교연산자를 응용한 실습이다.


'SQL > 교육,실습' 카테고리의 다른 글
| SQL데이터 분석 첫걸음 실습 (JOIN) (0) | 2023.04.23 |
|---|---|
| SQL데이터 분석 첫걸음 실습 (IF, CASE, 함수 만들기) (0) | 2023.04.22 |
| SQL데이터 분석 첫걸음 실습 (ORDER BY, RANK() OVER, 각종 함수) (0) | 2023.04.20 |
| SQL데이터 분석 첫걸음 실습 (WHERE, 각종 연산자) (0) | 2023.04.19 |
| SQL데이터 분석 첫걸음 실습 (DISTINCT, AS) (0) | 2023.04.18 |