select name, count(*) from users
group by name
성씨별 회원수를 구하는 다음과 같은 쿼리문이 있다면
from users
: users 테이블 데이터 전체를 가져온다.
group by name
: users 테이블 데이터에서 같은 name을 갖는 데이터를 합친다.
select name, count(*)
: name에 따라 합쳐진 데이터가 각각 몇 개가 합쳐진 것인지 세어줍니다.
# 문법
select 범주별로 세어주고 싶은 필드명, count(*) from 테이블명
group by 범주별로 세어주고 싶은 필드명
# 예시
select week, count(*) from checkins
group by week
count(*)
: 동일한 범주의 개수# 문법
select 범주가 담긴 필드명, min(최솟값을 알고 싶은 필드명) from 테이블명
group by 범주가 담긴 필드명
# 예시
select week, min(likes) from checkins
group by week
# 문법
select 범주가 담긴 필드명, max(최댓값을 알고 싶은 필드명) from 테이블명
group by 범주가 담긴 필드명
# 예시
select week, max(likes) from checkins
group by week
# 문법
select 범주가 담긴 필드명, avg(평균값을 알고 싶은 필드명) from 테이블명
group by 범주가 담긴 필드명
# 예시
select week, avg(likes) from checkins
group by week
# 예시 : 소수점을 없애고 싶다면
select week, round(avg(likes),1) from checkins
group by week
# 문법
select 범주가 담긴 필드명, sum(합계를 알고 싶은 필드명) from 테이블명
group by 범주가 담긴 필드명;
# 예시
select week, sum(likes) from checkins
group by week
select payment_method, count(*) from orders
where course_title = "웹개발 종합반"
group by payment_method
select name, count(*) from users
where email like '%gmail.com'
group by name;
select payment_method, count(*) from orders
where email like '%naver.com' and course_title = '앱개발 종합반'
group by payment_method
Group by 에서의 실행순서와 동일하고, 마지막에 정렬이 이뤄진다.
# 원본
select name, count(*) from users
group by name
# 수정본
select name, count(*) from users
group by name
order by count(*)
# 문법
select * from 테이블명
order by 정렬의 기준이 될 필드명
# 원본
select name, count(*) from users
group by name;
# 수정본
select name, count(*) from users
group by name
order by count(*) desc
# 문법
select * from 테이블명
order by 정렬의 기준이 될 필드명 desc
select name, count(*) from users
order by count(*) desc
select payment_method, count(*) from orders
where course_title = "웹개발 종합반"
group by payment_method
order by count(*) desc
select * from users
order by email;
select * from users
order by name;
select * from users
order by created_at desc;
SELECT 필드이름1, 필드이름2, ...
FROM 테이블이름
ORDER BY 필드이름1 ASC|DESC, 필드이름2 ASC|DESC, ...;