반응형 Coding21 [postgreSql] WITH절로 복잡한 join 쿼리를 대신하기 특정 범위의 날짜데이터로 한컬럼을 만들고, a테이블의 데이터로 한컬럼을 만들고, b테이블의 데이터로 한컬럼을 만들어 조회 결과를 뽑아야한다고 가정했을때 join으로만 쿼리를 작성하면 아래와 같이 복잡한 쿼리문이 완성된다 SELECT TO_CHAR(generate_series(#{stDate}::DATE, #{edDate}::DATE, '1 month'::INTERVAL), 'yyyymm') AS date, COALESCE(SUM(CASE WHEN a.value IS NOT NULL THEN a.value ELSE 0 END) / 100, 0) AS goal, COALESCE(SUM(CASE WHEN b.value IS NOT NULL THEN b.value ELSE 0 END), 0) AS expect .. 2023. 10. 27. [postgreSql] generate_series로 날짜 더미데이터 만들기 generate_series : 범위데이터를 만드는 sql 함수 조회문에서 between~and로 날짜 범위를 조회하듯이, generate_series로 날짜 범위나 숫자 범위를 만들 수 있습니다. generate_series(시작값, 종료값, 간격) (쿼리 예시로 보여드리겠습니다) - 2023년 1월 ~ 12월의 년-월 데이터 [12row] - 4분기 생성 - 24시간 생성 - 일주일 데이터 만들기 - 한 달 데이터 만들기 질문은 댓글로 남겨주세요 2023. 10. 27. [MyBatis] ArrayList로 입력된 파라미터로 조건문 조회하기 - foreach collection 동적쿼리 List로 선언된 parameter를 MyBatis에서 for문으로 조회하는 방법을 알아봅시다. @Builder @Data @NoArgsConstructor @AllArgsConstructor public class CO2ZeroRequest implements Request { @ApiModelProperty(value = "",required = true,example = "서울특별시") private String param1; @ApiModelProperty(value = "",required = true,example = "강남구") private String param2; @ApiModelProperty(value = "",required = false,example = "압구정동") priva.. 2023. 10. 27. [SQL] where절 조회조건 무효화 시키기(와일드카드 % 활용) 회사에서 쿼리를 짜고나면 실제 데이터값을 넣어서 테스트를 해야하는 상황이 발생하는데이 때, join된 테이블이 많거나 실데이터가 아직 완전히 들어온 상태가 아니라면조회조건으로 입력되는 테스트값을 찾는데 불필요한 시간이 소요될 수 있다 이럴 때를 대비하여 와일드카드'%'로 조회조건을 무효화 시키고쿼리가 정상적으로 짜여졌는지 테스트 해볼 수 있는 방법을 공유해보겠다 먼저, 아래와 같은 코드를 짰다고 가정해보자select tb1.COL1, tb2.COL2from TABLE1 tb1 inner join TABLE2 tb2 on tb2.COLNO = tb1.COLNOwhere tb1.COLNO = :colId조회 조건으로 colId 테스트값이 필요하다.명확하게는 TABLE1, TABLE2 두 테이블에 공통으.. 2023. 10. 25. [Linux] vi/vim 노멀모드(커맨드모드) 이동키 (update:2023-10-25) 노멀모드(command mode)에서 사용하는 이동키 및 명령어 모음입니다. 커서 이동 이동키 설명 h(←) 좌 j(↓) 하 k(↑) 상 l(→) 우 Enter 한 행 아래로 Back space 문자 왼쪽으로 Space bar 문자 오른쪽으로 ^ 맨 왼쪽 $ 맨 오른쪽 H (High) 화면 맨 위 M (Middle) 화면 중간 L (Low) 화면 맨 아래 숫자G 숫자 row로 커서 이동 ctrl + f (forward) 한 화면 위 ctrl + b (backwoard) 한 화면 아래 ctrl + d (down) 반 화면 위 ctrl + u (up) 반 화면 아래 ctrl + e (end)한 줄 위 ctrl + y (yank) 한 줄 아래 gg 맨 위 첫 줄 G 파일의 마지막 행으로 21G 파일의 21번째.. 2023. 10. 25. [Linux] vi/vim 자주쓰는 명령어 모음 (update:2023-10-25) 명령어 명령어 설명 예시 cd 경로이동 cd /svc/app/pu-service/bin/run.sh cd /svc/app/pu-service/config cd /svc/app/pu-service/logs/omsLog/puservice/2023/ cat 파일 단순출력 cat log1.txt echo 입력 표준출력 echo "message" vim 파일 생성 (a를 눌러야 Insert모드로 들어갈 수 있음) vim a.txt esc 노멀 모드(command mode) 진입 :shift -> q! : 파일을 저장하지않고 강제종료 wq! : 파일을 저장 후 종료 dd : 한 줄 제거 rm 파일 삭제 rm a.txt : 파일 삭제 rm -rf 경고 없이 모드 강제(force)로 삭제 rm -rf test ifco.. 2023. 10. 25. 이전 1 2 3 4 다음 728x90 반응형