SQL 2주차!

이단비·2021년 10월 27일
0

오늘은 2주차!
group by와 order by를 학습했다.

group by
동일한 범주를 갖는 데이터를 하나로 묶는 쿼리
즉, 이름, 이메일 등 같은 범주로 묶어서 숫자를 세거나 평균을 내거나 최소 최대값을 구할 때 쓰인다.

order by
데이터를 정렬하는 쿼리
숫자 뿐만 아니라 문자열도 정렬이 가능하다.
ex) 좋아요 수가 많은순으로 정리 또는 적은 순으로 정리, 이름 내림차순 또는 오름 차순 정리 등

group by로 갯수, 최소, 최대, 평균값 구하기

갯수 구하기

select 필드명, count(*) from 테이블명
group by 필드명

최소값, 최대값 구하기

select 필드명, min(최소값을 알고싶은 필드명) from 테이블명
group by 필드명

select 필드명, max(최대값을 알고 싶은 필드명) from 테이블명
group by 필드명

예시) checkins 테이블에서 주차별(week) 좋아요(likes)의 최소값 구하기

SELECT week, min(likes) from checkins
group by week 

평균값 구하기

select 필드명, avg(평균 알고 싶은 필드명) from 테이블명
group by 필드명

예시) checkins 테이블에서 주차별(week) 좋아요(likes)의 평균 구하기

SELECT week, avg(likes) from checkins
group by week 

여기서 꿀팁!! round 쿼리를 쓰면 평균값의 소수점을 조절할 수 있다.

SELECT week, round(avg(likes),1) from checkins
group by week

round 쿼리를 쓰지 않은 결과값

round 쿼리를 쓴 결과값(소수점 첫째자리 까지 나온 것을 볼 수 있다.)

order by로 정렬하기

SELECT * from 테이블명
order by 필드명

예시) orders 테이블에서 결제수단별로 묶어서 내림차순 정렬하기

SELECT payment_method, count(*) from orders
group by payment_method 
order by count(*) desc


desc를 쓰지 않으면 자동으로 오름차순 정렬이 된다.

데이터 활용에서 정말 활용도가 높을 것 같은 두가지 쿼리를 배워보았다.
다음주부터는 난이도가 올라간다고 하는데 오히려 기대된다!! :)

profile
왕초보 탈출기 입니다!! :)

0개의 댓글