어느새 2일차 바로 시작해보자
데이터 분석의 목적
: 쌓여있는 날것의 데이터를 의미가 있는 '정보'로 변환
DB 테이블에 저장된 데이터 = 날것의 데이터
가장 많은 like를 받은 사람의 이름, 전체 신청자 수 , 평균 연령 = 의미있는 '정보'
*통계 : 최대 / 최소 / 평균 / 개수
1. GROUP BY
GROUP BY라는 문법은 동일한 범주(category)를 갖는 데이터를 하나로 묶어서, 범주별로 통계를 내주는 것을 의미
1)같은 성씨의 데이터를 하나로 묶고
2) 각 성씨의 회원수를 구할 수 있다.
개수와 최솟값, 최댓값
select 범주별로 세어주고 싶은 필드명, count(*) from 테이블명
group by 범주별로 세어주고 싶은 필드명;
#최솟값 구하기
select 범주가 담긴 필드명, min(최솟값을 알고 싶은 필드명) from 테이블명
group by 범주가 담긴 필드명;
#최댓값 구하기
select 범주가 담긴 필드명, max(최댓값을 알고 싶은 필드명) from 테이블명
group by 범주가 담긴 필드명;
평균 구하기
select 범주가 담긴 필드명, avg(평균값을 알고 싶은 필드명) from 테이블명
group by 범주가 담긴 필드명;
소수점 자리 자르기 : round 문법
통계를 내다보면 위 결과값처럼 소수점 자리가 일정하지 않게 도출되는 경우가 많을 경우 round 문법을 통해 절삭되는 소수점 자리를 지정할 수 있다.
SELECT week, round(avg(likes),2) FROM checkins c
group by week
avg문법을 사용하면 2.xxxx로 네자리가 표시된다.
round문법을 써주고 괄호옆에 숫자를 적어주면 내가 적은 수 만큼 소숫점 뒷 자리가 표시된다.
2. ORDER BY
order by 문법은 깔끔하게 데이터를 정렬하기 위해 사용하는 문법이다.
select name, count(*) from users
group by name
order by count(*)
#내림차순으로 정렬하기
select name, count(*) from users
group by name
order by count(*) desc
count를 기준으로 정렬해달라는 뜻...!
뒤에 desc를 붙이면 내림차순으로 정렬된다.
숫자 뿐만 아니라 문자열도 순서대로 정렬이 가능함.
한글, 영어 모두 가능!
3. Alias 와 as
Alias는 코드에 별칭을 달아주는 기능 자세한 건 다음 주에 강의
as는 위 예시처럼 count된 컬럼명을 '수량' 으로 붙여 추출하는 문법이다.
---
오늘의 주요 문법
1. GROUP BY : 동일한 범주(카테고리)를별로 통계를 내줌
1-1. AVG(필드명) : 평균
1-2 MIN(필드명) : 최솟값
1-3 MAX(필드명) : 최댓값
1-4 SUM(필드명) : 합계
+ round(avg(필드명)반올림할 숫자) : 반올림
2. ORDER BY : 데이터를 기준에 따라 정렬할 수 있음
2-1 order by desc (정렬할 데이터 명) : 내림차순으로 정렬
etc
- alias
- as
'SQL' 카테고리의 다른 글
[스파르타 코딩 클럽] SQL 강의 DAY1 : 환경 세팅과 select, where문 (0) | 2023.01.05 |
---|