postgresql 3

[PostgreSQL] LEAST,GREATEST를 활용하여 최솟값, 최댓값 찾기

LEAST, GREATEST 함수란? LEAST 함수는 최소값, GREATEST 함수는 최대값을 반환하는 함수이다. MIN, MAX 함수와의 차이점 MIN, MAX는 여러 행(row)중에 해당 열(column)의 최소, 최대를 반환한다. LEAST, GREATEST는 여러 열(column)에서 최소, 최대를 반환한다. 함수 사용방법 LEAST, GREATEST함수는 인자를 N개 가질 수 있고, 해당 인자에서 최소, 최대값을 반환한다. 인자의 데이터 타입은 모두 동일해야한다. LEAST("값1", "값2", "값3", "값4", "값5", "값6", ...) 인자값 중 최솟값을 반환 GREATEST("값1", "값2", "값3", "값4", "값5", "값6", ...) 인자값 중 최댓값을 반환 예시 LE..

[PostgreSQL] WITH절 사용하기

WITH 절이란? 반복되는 구문이거나, 동일한 구문 또는 복잡한 구문을 작성할 때 매크로처럼 미리 선언하여 사용하는 서브쿼리라고 생각하면 된다. 해당 구문을 통해 임시 테이블이 생성된다. VIEW는 한번 만들어 놓으면 DROP 전 까지 없어지지 않지만, WITH 절로 생성된 임시 테이블은 한번 실행되는 쿼리 내에만 실행되는 생명주기를 가지고 있다. WITH 절로 생성한 임시 테이블은 한번 생성되면 동일한 블록을 재사용할 수 있는 장점이 있으며, Planning 할때 속도 향상에 많은 도움을 준다. 사용 방법 /* * [명칭] 에다가 alias 할 이름을 작성하면 된다. * 그리고 해당 결과를 불러올 땐 alias한 이름을 불러오면 된다. */ with [명칭] as( select ... from ... ..

[PostgreSQL] SUM OVER 사용하여 누적 합계 구하기

SUM OVER 집계 함수는 윈도우 함수(Window Function) 중 하나이다. 집계 함수와 차이점은 그룹화되지 않고 행들의 정체성을 유지하여 나타낸다. 사용 방법 SELECT 컬럼1 , 컬럼2 , SUM(누적할 컬럼명) OVER(PARTITION BY 그룹화할 컬럼명 ORDER BY 정렬할 컬럼명 정렬 방식) FROM [테이블 명] 아래 테이블은 예시 테이블이다. 1. 총합계 구하기 현재 article을 기준으로 행마다 총합을 넣고 싶다고 가정해본다면, 쿼리는 다음과 같다. SELECT article , amount , reg_date , reg_time , sum(amount) over(partition by article) as total --파티셔닝하여 총합 구하기 FROM PAYMENT_H..