데이터베이스 기초
매출 표(매장, 금액)에 (A, 500), (A, 700), (B, 300), (B, 400), (C, 1200), (D, 200), (D, 900)의 7개 행이 있다. SELECT 매장, SUM(금액) FROM 매출 GROUP BY 매장 HAVING SUM(금액) >= 1000의 결과는 몇 행이 되는가?
- A1행
- B3행
- C4행
정답과 해설 보기
정답: B. 3행
GROUP BY 매장으로 매장별로 묶으면 합계는 A가 500 + 700 = 1200, B가 300 + 400 = 700, C가 1200, D가 200 + 900 = 1100인 4개 그룹이 됩니다. HAVING SUM(금액) >= 1000으로 합계가 1000 이상인 그룹만 남기므로 A, C, D의 3행이 결과가 됩니다. 1행은 WHERE 금액 >= 1000처럼 그룹으로 묶기 전의 한 행씩의 금액으로 고른 경우의 결과(C만)입니다. 4행은 HAVING을 붙이지 않았을 때의 그룹 수입니다.