BookmarkSubscribeRSS Feed

PROC SQL - Group by

Started ‎03-25-2024 by
Modified ‎03-25-2024 by
Views 841

 

SQL의 Group by 절은 데이터를 그룹화하는데 사용합니다.

특정 열을 기준으로 데이터를 그룹화해 집계 함수를 설정하면 그룹 단위의 결과값을 출력합니다.

 

Group by 기본 Syntax는 다음과 같습니다.

Syntax의 순서는 From > Where > Group by > Select 입니다.

where절은 옵션으로 칼럼을 그룹으로 묶기 이전에 조건식이 적용됩니다.

 

 

SELECT 칼럼
FROM 테이블
WHERE 조건절
GROUP BY 열 이름

 

 

SASUSER 라이브리에 Drug 데이터는 다음과 같습니다.

 

 

image (3).png

 

 

 

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 문과 자주 쓰는 그룹 함수는 다음과 같습니다.

 

image.png

 

 

 

 

■ Group By - Count

 

10명의 이름, 나이, 거주 도시가 작성된 데이터를 예로 들어, 각 도시별로 총 데이터의 갯수를 세려고 한다.

 

 

proc sql;
select city, count(*) as count2  
from work.import4
group by city;

 

 

 

image (6).png

 

 

 

 

Count 집계함수는 결측치를 포함해 행의 갯수를 센다.

 

 

 

 

 

■ Group By - 그룹 칼럼 여러개 지정

 

 

 

 image (7).png

 

 

 

proc sql;
select name, age, city, age2
from work.import4
where age2 in (1,2,3,4)
group by city, age2;

 

 image (8).png

 

 

 

 

 

위 예시는 group by 구문을 활용해 여러개 변수를 그룹화한 예시이다.

1) FROM: work.import4 데이터를 사용

2) WHERE: AGE2 변수가 1,2,3,4인 것만 사용

3) GROUP BY: CITY 변수끼리 그룹화 한 다음, 그 다음 AGE2 변수끼리 그룹화한다.

위 결과를 살펴보면, CITY 변수 중 Atmore 변수를 기준으로 그룹화하고, age2 변수끼리 그룹화한 다음정렬한 것을 확인할 수 있다.

 

 

 

Version history
Last update:
‎03-25-2024 08:26 AM
Updated by:
Contributors

SAS Innovate 2025: Register Now

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!

Article Labels
Article Tags