쿼리2 string_agg를 활용한 중복 레코드 확인 테이블 내부에 특정 컬럼의 중복이 존재한다면, 어떤 컬럼의 레코드가 중복되는지 확인할 필요가 있다. 중복되는 데이터 컬럼을 확인하려면 데이터 컬럼 기반으로 Group by 를 사용해 집약하고, Having 구문을 사용해 레코드의 수가 1보다 큰 그룹을 찾아내면 된다. 아래와 같은 데이터가 있다. CREATE TABLE PUBLIC.PROD_MASTER ( PROD_ID CHARACTER VARYING(10), PROD_NAME CHARACTER VARYING(100), CREATE_DT CHARACTER VARYING(24), PRIMARY KEY (PROD_NAME, PROD_ID) ); INSERT INTO PROD_MASTER(PROD_ID, PROD_NAME, CREATE_DT)VALUES ('1.. 2022. 2. 7. 세로 기반 데이터를 가로로 출력 쿼리 쿼리 결과를 가져올 때, 세로 기반 데이터를 가로로 출력이 필요할 때가 있다. 아래와 같은 데이터가 있다고 가정하자. 위와 같은 데이터를 날짜별로 사람 이름(james, julie)를 열 이름으로 지정하여 데이터를 전개해보면 아래와 같다. 날짜 1개의 레코드를 집약할 수 있게 group by dt를 사용한다. 그리고 max(case when )구문을 사용해서, 사용자 이름에 해당되는 값을 출력한다. 이를 구현하면 아래와 같다. select dt , max(case when name='james' then val end) as james , max(case when name='julie' then val end) as julie from vertical_tb group by dt order by dt; 아.. 2022. 1. 27. 이전 1 다음 반응형