아래와 같은 MySQL 윈도우 함수와 PARTITION BY를 사용할 때, MAX(company)의 역할이 무엇인가요?
SELECT company, MAX(company) OVER(PARTITION BY company ORDER BY year) AS test_col FROM Sales;
아래와 같이 MAX()를 제외하면, 오류가 발생하는 이유는 무엇인가요?
SELECT company, company OVER(PARTITION BY company ORDER BY year) AS test_col FROM Sales;
문법 자체가 그래요. 문법에 안맞게 고치면 에러나는 거구요.
MAX 는 주어진 범위 안에서 제일 큰거 가져오는 역할을 합니다.
위 구문은 회사로 구분 지었을 때 하나의 회사 안에서 가장 큰 회사를 가져오는 거라서
쓸데 없는 코드입니다.
회사 내에서 가장큰 사원을 가져온다던가? 가장 큰 급여를 가져와야지 의미가 있죠.
회사 내에서 가장큰 회사는 그냥 회사 그 자체죠.
분석함수 부분 참고해 보세요.
http://gurubee.net/oracle/advanced