동작순서에 대해 이야기 하기 전에 ! 왜 동작 순서가 중요한가?
1. 상품별 재구매율과 주문 건수 조회
2. O_cnt 기준 주문건수가 10 초과인 결과만 조회 (틀린답)
에러의 이유 :
우선순위 (동작의 순서) 때문이다.
where 조건절이 group by 보다 먼저 실행되기 때문에 문제가 발생한 것이다.
MySQL 기준 동작 순서
from ➜ where ➜ select ➜ group by, 집계함수 ➜ having ➜ order by ➜ limit
where 과 having 의 차이
where : 가져온 테이블에서 데이터의 필터링을 원할 때 사용한다.
having : 같은 조건절이지만, group by 한 결과물에서 데이터의 필터링을 원할 때 사용한다.
즉, group by 이용 ➜ having 사용
위에 풀었던 문제를 올바르게 하기 위해서는 where 이 아닌 having 을 사용해야 한다.
2. O_cnt 기준 주문건수가 10 초과인 결과만 조회 (옳은 답)
'DATABASE' 카테고리의 다른 글
Q. 코흐트 분석 (0) | 2023.12.06 |
---|---|
Q. 특정구매자가 구매한 상품 조회 (0) | 2023.12.05 |
Q. 고객등급별 주문 건수 조회 (0) | 2023.12.02 |
Q. 재구매율이 가장 높은 상품 조회 (0) | 2023.11.30 |
Q. 주문 건수가 많은 시간대 조회 (0) | 2023.11.29 |