쉽게 생각해서

 

팀별로 쌓이는 돈을 저장하는 테이블로 가정하였을 때, 팀별 머니 총계는?

예를 들면 이런 테이블이라고 가정하면.......

TEMA_ID   MONEY

TEAM1      100

TEAM1      200

TEAM2      700

TEAM3      150

.

.

SELECT TEAM_ID, SUM( MONEY ) OVER (PARTITION BY TEAM_ID) AS 수익

FROM TEAM_TABLE

 

이경우 머니는 SUM되면서 TEAM_ID 별로 GROUP BY 된다. 즉,  PARTITION BY 를 GROUP BY처럼 쓴것

TEAM1      300

TEAM1      300

TEAM2      700

TEAM3      150

 

DISTINCT 를 이용해서 중복제거만 해주면 원하는 데이터가 나온다.

SELECT DISTINCT TEAM_ID, SUM( MONEY ) OVER (PARTITION BY TEAM_ID) AS 수익

FROM TEAM_TABLE

 

TEAM1      300

TEAM2      700

TEAM3      150

 

+ Recent posts