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

+ Recent posts