목록윈도우함수 (5)
오랑우탄의 반란

오랜만에 오랑이는 문제를 풉니다. Weather Observation Station 20A median is defined as a number separating the higher half of a data set from the lower half. Query the median of the Northern Latitudes (LAT_N) from STATION and round your answer to decimal places. Input Format The STATION table is described as follows where LAT_N is the northern latitude and LONG_W is the western longitude. 중앙값을 구하는 문제입니다.O..

윈도우 함수 총정리 2 에서는 윈도우 프레임 내의 범위 지정을 다룰 예정입니다.윈도우 함수의 기본 개념, 집계 및 순위 매기기 활용은 윈도우 함수 총정리 1을 참고해주세요. 범위지정윈도우 프레임 내에서의 범위 지정 또한 중요한 부분입니다. 예를 들어 특정 기간에 대한 금액의 누적합을 구하고 싶은 경우 활용할 수 있겠지요? 기본 문법기본적인 윈도우 함수의 OVER 안에 ROWS/RANGE BETWEEN이 추가됩니다. SELECT 집계함수() OVER (PARTITION BY {컬럼명1}, ORDER BY {컬럼명2} ROWS|RANGE BETWEEN {시작} AND {끝}) FROM {테이블};ROW는 현재행 기준 전후 N개의 물리적인 행 단위의 프레임 지정RANGE는 논리적인 값을 범위로 지정, 숫자와 ..

윈도우 함수 총정리 1 에서는 윈도우 함수의 기본적 사용부터 집계, 순위 매기기 등의 활용까지 살펴볼 예정입니다. 윈도우 함수 WINDOW FUNCTION윈도우 함수는 서브쿼리처럼 쓰이지만 서브쿼리보다 간단하고 가동성이 높은 특징을 가졌습니다.특히 이동평균, 누적합계, 순위 계산에 유용하게 쓰입니다. 기본 문법SELECT 집계함수() OVER (PARTITION BY {컬럼명1}, ORDER BY {컬럼명2}) FROM {테이블}; PARTITION BY는 GROUP BY 와 동일한 기능으로 특정 기준으로 윈도우함수 내에서 분류ORDER BY는 윈도우함수 내에서 정렬될 기준 아래 기본적인 사용 예시를 보겠습니다. 전체 직원을 대상으로 월급을 많이 받는 순위 매기기SELECT employee_id, d..

오늘도 오랑이는 문제를 풉니다. 1321. Restaurant Growth 풀이 과정주어진 날짜 중 7일에 대한 합과 평균을 구해야 하는 문제입니다. 윈도우 함수를 사용해 범위를 지정해서 특정 날짜 구간에 대해 집계를 할 수 있는데요, range로 날짜 범위를 구할 수 있습니다. 이때 interval 은 datatype 이 date 인 경우에만 사용 가능하다는 점을 주의해야 합니다. sum(amount) over (order by visited_on range between interval '6' day preceding and current row) as amount 해당 조건을 from 서브쿼리로 넣어주면 7일에 대한 합과 평균을 구할 수 있습니다. 이때 행이 중복으로 들어가지 않게 group by ..

오늘도 오랑이는 문제를 풉니다. 1204. Last Person to Fit in the Bus 풀이 과정turn 기준으로 정렬한 것에 대한 각 weight 의 누적합이 필요한 문제입니다.누적합을 구할 수 있는 방법은 self join 으로 sum, group by 하는 방법과, sum() over() window function 을 사용하는 방법 크게 두 가지가 있습니다. 누적합 윈도우 함수SELECT column1, column2, SUM(더할 칼럼) OVER (ORDER BY 정렬기준) as CumulativeSumFROM table_name; 사용예시SELECT Date, Sales, SUM(Sales) OVER (ORDER BY Date) as CumulativeSalesFROM daily_s..