Group by 기능
1. 범주의 개수
ex_주차별 오늘의 다짐 개수 구하기
SELECT week, count(*) from checkins
group by week
2. 범주의 최소값 구하기
ex_주차별 좋아요 최소값 구하기
SELECT week, min(likes) FROM checkins
group by week
3. 범주의 최대값 구하기
ex_주차별 좋아요 최대값 구하기
SELECT week, max(likes) FROM checkins
group by week
4. 범주의 평균 구하기
ex_주차별 좋아요 평균값 구하기
SELECT week, round(avg(likes),2) from checkins
group by week
--평균값은 소수점 round와 함께 쓰임
5. 범주의 합계 구하기
ex_주차별 좋아요 합계 구하기
SELECT week, sum(likes) from checkins
group by week
정렬 (order by)
SELECT payment_method, count(*) FROM orders
WHERE course_title = "웹개발 종합반"
group by payment_method
order by count(*) desc /*내림차순
=> 기본은 오름차순. 꼭 group by 와 함께 사용할 필요 X
쿼리 실행 순서: from → group by → select → order by*/
Quiz
1.gmail을 사용하는 성씨별 회원수 세기
SELECT name, COUNT(*) from users
WHERE email like '%gmail%'
GROUP by name
2. course_id별 like 갯수의 평균(소수점 두자리까지)을 구하기
SELECT course_id, ROUND(AVG(likes),2) from checkins
group by course_id
이외의 문법
별칭 기능 (Alias)
SELECT payment_method, COUNT(*) as cnt from orders o
WHERE o.course_title = '웹개발 종합반'
group by payment_method
/* 1) orders 뒤의 o 별칭. 왜? course_title이 어디있는지 명시적으로 보여주기 위해
2) as 로 필드명 별칭*/
Quiz. 네이버 이메일을 사용하여 앱개발 종합반을 신청한 주문의 결제수단별 주문건수 세기
SELECT payment_method as payment, COUNT(*) from orders o
where o.course_title = '앱개발 종합반' and o.email like '%naver%'
group by payment_method
'SQL' 카테고리의 다른 글
Case when문 (0) | 2023.02.27 |
---|---|
서브쿼리(Subquery)와 with절 (0) | 2023.02.24 |
Join과 Union (0) | 2023.02.23 |
조건문 Where와 추가문법 2일차 (0) | 2023.02.21 |
조건문 Where 기초 (1일차) (0) | 2023.02.20 |