select name, count(*) from users group by name;
이렇게 name필드를 그룹으로 묶어서 카운트를 한다.
위 쿼리가 실행되는 순서: from → group by → select
select * from users where name = "신**";
select name, count(*) from users group by name;
//users 테이블에서 '신' 씨를 가진 데이터만 불러와서 개수
select 범주가 담긴 필드명, sum(합계를 알고 싶은 필드명) from 테이블명 group by 범주가 담긴 필드명;
select 범주가 담긴 필드명, avg(평균값을 알고 싶은 필드명) from 테이블명 group by 범주가 담긴 필드명;
select 범주가 담긴 필드명, max(최댓값을 알고 싶은 필드명) from 테이블명 group by 범주가 담긴 필드명;
select 범주가 담긴 필드명, min(최솟값을 알고 싶은 필드명) from 테이블명 group by 범주가 담긴 필드명;
select 범주별로 세어주고 싶은 필드명, count(*) from 테이블명 group by 범주별로 세어주고 싶은 필드명;
이렇게 생각하면 쉬움.
select name, count(*) from users group by name order by count(*);
오름차순 정렬. 작은값부터 출력함. order by
select name, count(*) from users group by name order by count(*) desc;
내림차순 desc가 붙으면 내림차순
위 쿼리가 실행되는 순서: from → group by → select → order by
1. orders 테이블에서 주문 데이터를 읽어오고
2. 웹개발 종합반 데이터만 남기고
3. 결제수단(범주) 별로 그룹화하고
4. 결제수단별 주문건수를 세어준다!
select payment_method, count(*) from orders where course_title = "웹개발 종합반" group by payment_method;
위 쿼리가 실행되는 순서: from → where → group by → select