본문 바로가기

윈도우함수2

[Oracle] LISTAGG 데이터를 가지고 올 때 여러 행을 하나의 컬럼으로 가져와야할 경우가 있습니다. 이때 사용하는 것이 LISTAGG 함수입니다. 사용방법은 다음과 같습니다. SELECT LISTAGG(가져올컬럼, 구분자) WITHIN GROUP (ORDER BY 순서컬럼) 예를 들어 보겠습니다. 먼저 다음과 같이 데이터를 삽입하겠습니다. INSERT INTO USER (USER_NAME, FAVORITE_FOOD) VALUES('홍길동', '마라샹궈'); INSERT INTO USER (USER_NAME, FAVORITE_FOOD) VALUES('홍길동', '라면'); INSERT INTO USER (USER_NAME, FAVORITE_FOOD) VALUES('홍길동', '햄버거'); INSERT INTO USER (USE.. 2019. 8. 4.
[Oracle] 윈도우 함수 윈도우 함수 윈도우 함수는 굉장히 중요한 기능입니다. 윈도우 함수는 데이터를 가공하게 해준다는 점에서도 중요하지만, 성능과 큰 관계가 있습니다. 윈도우 함수의 특징을 한마디로 정의하면 '집약 기능이 없는 GROUP BY 구'입니다. GROUP BY 구는 자르기와 집약이라는 두 개의 기능으로 구분됩니다. 윈도우 함수는 여기서 자르기 기능만 있는 것입니다. 윈도우 함수도 테이블을 자르는 것은 GROUP BY와 같습니다. 윈도우 함수는 이를 'PARTITION BY'라는 구로 수행합니다. 차이점이 있다면 자른 후에 집약하지 않으므로 출력 결과의 레코드 수가 입력되는 테이블의 레코드 수와 같다는 것입니다. 윈도우 함수의 기본적인 구문은 집약 함수 뒤에 OVER 구를 작성하고, 내부에 자를 키를 지정하는 PART.. 2019. 6. 10.