-
GROUP BY, HAVING데이터베이스 with MSSQL/SQL 입문 2022. 4. 6. 18:42
1. 개념
그룹으로 묶어서 무언가를 분석하고 싶을 때 쓰는 것이 GROUP BY 이다.
GROUP BY는 SELECT 집계함수를 같이 사용해서 출력하거나 그룹으로 묶은 컬럼만 출력할 수 있다.
HAVING은 GROUP BY에 조건을 달 때 사용한다.
'논리적인' 순서는 FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY이다.
2. 분석
-- batting테이블에서 2004년에 200홈런 이상을 날린 팀의 목록을 내림차순으로 정렬 SELECT teamID, SUM(HR) AS 홈런수 FROM batting WHERE yearID = 2004 GROUP BY teamID HAVING SUM(HR) >= 200 ORDER BY 홈런수 DESC; -- GROUPO BY에서 인자가 N개이면 그룹은 N * N인 N ^ 2개로 구분된다. -- 예를들어, '단일 년도에서 가장 많은 홈런을 날린 팀'을 구할 때는 SELECT teamID, yearID, SUM(HR) AS 홈런수 FROM batting GROUP BY teamID, yearID ORDER BY 홈런수 DESC;
'데이터베이스 with MSSQL > SQL 입문' 카테고리의 다른 글
SUBQUERY, IN, EXISTS (0) 2022.04.06 INSERT, DELETE, UPDATE (0) 2022.04.06 집계함수 (0) 2022.04.06 CASE (0) 2022.04.06 DATETIME (0) 2022.04.06