2주차 강의
select * from users
group by name
그 그림에서보면 name과 그 수를 세고싶으니까
select name, count(*) from users
group by name
적어주자
(1)users 테이블에서 '신' 씨를 가진 데이터만 불러와서 개수 살펴보기
select name, count(*) from users
where name = '신**'
(2)group by를 사용해서 '신'씨를 가진 데이터가 몇 개인지 살펴보기
group by를 사용해서 '신'씨를 가진 데이터가 몇 개인지 살펴보기
(3)네이버 이메일을 사용하는 사람들을 성씨별로 살펴보기(where, group by) (예상)
select name, count(*) from users
where email like '%naver.com'
group by name
select week, count(*) from checkins
group by week
(1) likes의 최소값, 최대값, 평균값, 반올림, 합계
(1)-1 최소값(min())
select week, min(likes) from checkins
group by week
(1)-2 최대값(max())
select week, max(likes) from checkins
group by week
(1)-3 평균값(avg())
select week, avg(likes) from checkins
group by week
(1)-4 반올림(round(값,자릿수))
select week, round(avg(likes),2) from checkins
group by week
(1)-5 합계(sum())
select week, sum(likes) from checkins
group by week
(1) 오름차순 (asc 안써도됨)
select name, count() from users
group by name
order by count()
(2) 내림차순 (desc)
select name, count() from users
group by name
order by count() desc
select * from checkins
order by likes desc
※마지막에 ;을 붙이는 이유
select name, count() from users
group by name
order by count();
한 쿼리가 여기서 끝난다는걸 알려줌
굳이 안써도 됨
Where와 Group by, Order by 함께 사용해보기
select payment_method ,count() from orders
where course_title = '웹개발 종합반'
group by payment_method
order by count()
자주발생하는 에러
1) select from orders
group by payment_method
라 하면 통계낼것을 지정하지 않아 대표적인것 하나씪만 보여준다
2) select count() from orders
group by payment_method
뭘 통계냈는지 모르고 숫자 센것만 보여준다.
별칭기능 : alias
(보통 알파벳 1, 2글자로 짧게 씀)
(1) 첫번째 별칭
select * from orders o
where o.course_title = '앱개발 종합반'
orders를 o로 별칭을 지정 후 orders에 있는 자료를 사용함
(2) 두번째 별칭
select payment_method , count(*) as cnt from orders o
where o.course_title = '앱개발 종합반'
group by payment_method
as를 사용해서 따로 열의 이름을 지어줄 수 있다.
아직까지는 할만한거 같아요