SQL의 Group by 절은 데이터를 그룹화하는데 사용합니다.
특정 열을 기준으로 데이터를 그룹화해 집계 함수를 설정하면 그룹 단위의 결과값을 출력합니다.
Group by 기본 Syntax는 다음과 같습니다.
Syntax의 순서는 From > Where > Group by > Select 입니다.
where절은 옵션으로 칼럼을 그룹으로 묶기 이전에 조건식이 적용됩니다.
SELECT 칼럼
FROM 테이블
WHERE 조건절
GROUP BY 열 이름
SASUSER 라이브리에 Drug 데이터는 다음과 같습니다.
Disease 는 A,B, C 3종류로 각 Disease 별(Group by)로 BloodP의 평균_avg(Drugdose)을 구하려고 합니다.
proc sql;
select disease, avg(drugdose)
from sasuser.drug
group by disease;
Group by 문과 자주 쓰는 그룹 함수는 다음과 같습니다.
■ Group By - Count
10명의 이름, 나이, 거주 도시가 작성된 데이터를 예로 들어, 각 도시별로 총 데이터의 갯수를 세려고 한다.
proc sql;
select city, count(*) as count2
from work.import4
group by city;
Count 집계함수는 결측치를 포함해 행의 갯수를 센다.
■ Group By - 그룹 칼럼 여러개 지정
proc sql;
select name, age, city, age2
from work.import4
where age2 in (1,2,3,4)
group by city, age2;
위 예시는 group by 구문을 활용해 여러개 변수를 그룹화한 예시이다.
1) FROM: work.import4 데이터를 사용
2) WHERE: AGE2 변수가 1,2,3,4인 것만 사용
3) GROUP BY: CITY 변수끼리 그룹화 한 다음, 그 다음 AGE2 변수끼리 그룹화한다.
위 결과를 살펴보면, CITY 변수 중 Atmore 변수를 기준으로 그룹화하고, age2 변수끼리 그룹화한 다음정렬한 것을 확인할 수 있다.
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!