-
[비공개] [SQL,오라클] COUNT(*), COUNT(1), COUNT(칼럼..
COUNT(*), COUNT(1), COUNT(칼럼명) 차이 NULL값 포함 여부에 따른 차이 - COUNT(*) : NULL값을 포함하여 수를 센다 - COUNT(1) : NULL값을 포함하여 수를 센다 - COUNT(칼럼명) : NULL값을 제외하여 수를 센다 예시 (STEP1) 샘플데이터 테이블 생성 : GB칼럼 내에 1,NULL,2 데이터넣어 만들기 ▷ SQL query ▷ 결과 GB라는 칼럼 내에, 차례대로 숫자 1, NULL, 숫자 2 라는 3개의 ROW를 가진 테이블을 조회하였다. (STEP2) COUNT(*), COUNT(1), COUNT(칼럼명) 으로 조회 ▷ SQL query ▷ 결과 결과를 보면, COUNT(*)과 COUNT(1)은 NULL값을 포함하여 3이라는 결과가 나왔고, COUNT(GB)는 NULL값을 제외해서 2라는 결과가 도출된 것을 확인할 수 있.......추천 -
[비공개] [SQL, 오라클] 세그먼트(10등분) 하기 : NTILE 함수
고객 세그먼트(segment) 그룹 나누기 NTILE 함수 NTILE(숫자) OVER ( ORDER BY 나열기준 ) 숫자만큼, 세그먼트를 나누게 되고 (그룹을 분할하게 되고) 이 때, 나열기준 순으로 나열한 다음에 세그먼트를 나눈다. NTILE(숫자) OVER ( PARTITION BY 파티션할기준 ORDER BY 나열기준 ) 여기에 PARTITION BY 까지 사용하게 되면, 파티션 나누고 나서, 그 안에서 세그먼트를 나누게 되는 방식. 실무 활용 예시 고객 구매금액에 따라서, 고객을 10등분으로 나눠야 하는 경우, 혹은 100등분으로 나눠서 상위 1, 즉 상위 1%의 고객만을 보고 싶은 경우, (STEP1) 고객의 거래이력과 금액이 있는 예시테이블 생성 (STEP2) 고객별로 금액 구하기 ▷ SQL quer.......추천 -
[비공개] [SQL, 오라클] 세그먼트(10등분) 하기 : NTILE 함수
고객 세그먼트(segment) 그룹 나누기 NTILE 함수 NTILE(숫자) OVER ( ORDER BY 나열기준 ) 숫자만큼, 세그먼트를 나누게 되고 (그룹을 분할하게 되고) 이 때, 나열기준 순으로 나열한 다음에 세그먼트를 나눈다. NTILE(숫자) OVER ( PARTITION BY 파티션할기준 ORDER BY 나열기준 ) 여기에 PARTITION BY 까지 사용하게 되면, 파티션 나누고 나서, 그 안에서 세그먼트를 나누게 되는 방식. 실무 활용 예시 고객 구매금액에 따라서, 고객을 10등분으로 나눠야 하는 경우, 혹은 100등분으로 나눠서 상위 1, 즉 상위 1%의 고객만을 보고 싶은 경우, (STEP1) 고객의 거래이력과 금액이 있는 예시테이블 생성 (STEP2) 고객별로 금액 구하기 ▷ SQL quer.......추천 -
[비공개] [SQL, 오라클] 세그먼트(10등분) 하기 : NTILE 함수
고객 세그먼트(segment) 그룹 나누기 NTILE 함수 NTILE(숫자) OVER ( ORDER BY 나열기준 ) 숫자만큼, 세그먼트를 나누게 되고 (그룹을 분할하게 되고) 이 때, 나열기준 순으로 나열한 다음에 세그먼트를 나눈다. NTILE(숫자) OVER ( PARTITION BY 파티션할기준 ORDER BY 나열기준 ) 여기에 PARTITION BY 까지 사용하게 되면, 파티션 나누고 나서, 그 안에서 세그먼트를 나누게 되는 방식. 실무 활용 예시 고객 구매금액에 따라서, 고객을 10등분으로 나눠야 하는 경우, 혹은 100등분으로 나눠서 상위 1, 즉 상위 1%의 고객만을 보고 싶은 경우, (STEP1) 고객의 거래이력과 금액이 있는 예시테이블 생성 (STEP2) 고객별로 금액 구하기 ▷ SQL quer.......추천 -
[비공개] [SQL,오라클] 원하는 수만큼 행(ROW) 수 불리기(늘리기)
원하는 수만큼 행(row) 늘리기 connect by level 활용 connect by 는 계층형 쿼리라고 하는데, 여기에 level을 같이 쓰면 원하는 수만큼(1~N개) 행을 늘릴 수 있다. ▷ LEVEL 5로 설정했을때, ▷ LEVEL 2로 설정했을때, ▷ LEVEL 5로 설정하고, SELECT구문에서 LEVEL항목을 추출했을 때, ▷ LEVEL 5로 설정하고, SELECT구문에서 LEVEL항목에 0.1 을 추출했을 때, 0.1부터 시작해서 +0.1의 간격으로 늘어나는 것을 확인할 수 있다. ▷ LEVEL 5로 설정하고, SELECT구문에서 LEVEL항목에 -1을 해서 추출했을 때, LEVEL값에서 -1이 된 값이라서 0부터 시작해서 +1의 간격으로 늘어나는 것을 확인할 수 있다. SQL 실무 활용 예시 > 이벤트로 인해 특.......추천 -
[비공개] [SQL,오라클] 원하는 수만큼 행(ROW) 수 불리기(늘리기)
원하는 수만큼 행(row) 늘리기 connect by level 활용 connect by 는 계층형 쿼리라고 하는데, 여기에 level을 같이 쓰면 원하는 수만큼(1~N개) 행을 늘릴 수 있다. ▷ LEVEL 5로 설정했을때, ▷ LEVEL 2로 설정했을때, ▷ LEVEL 5로 설정하고, SELECT구문에서 LEVEL항목을 추출했을 때, ▷ LEVEL 5로 설정하고, SELECT구문에서 LEVEL항목에 0.1 을 추출했을 때, 0.1부터 시작해서 +0.1의 간격으로 늘어나는 것을 확인할 수 있다. ▷ LEVEL 5로 설정하고, SELECT구문에서 LEVEL항목에 -1을 해서 추출했을 때, LEVEL값에서 -1이 된 값이라서 0부터 시작해서 +1의 간격으로 늘어나는 것을 확인할 수 있다. SQL 실무 활용 예시 > 이벤트로 인해 특.......추천 -
[비공개] [SQL,오라클] 원하는 수만큼 행(ROW) 수 불리기(늘리기)
원하는 수만큼 행(row) 늘리기 connect by level 활용 connect by 는 계층형 쿼리라고 하는데, 여기에 level을 같이 쓰면 원하는 수만큼(1~N개) 행을 늘릴 수 있다. ▷ LEVEL 5로 설정했을때, ▷ LEVEL 2로 설정했을때, ▷ LEVEL 5로 설정하고, SELECT구문에서 LEVEL항목을 추출했을 때, ▷ LEVEL 5로 설정하고, SELECT구문에서 LEVEL항목에 0.1 을 추출했을 때, 0.1부터 시작해서 +0.1의 간격으로 늘어나는 것을 확인할 수 있다. ▷ LEVEL 5로 설정하고, SELECT구문에서 LEVEL항목에 -1을 해서 추출했을 때, LEVEL값에서 -1이 된 값이라서 0부터 시작해서 +1의 간격으로 늘어나는 것을 확인할 수 있다. SQL 실무 활용 예시 > 이벤트로 인해 특.......추천 -
[비공개] [SQL, 오라클] 요일 구하기(TO_CHAR함수) - 활용② : 영..
요일 구하기 #1. 요일 구하기 (TO_CHAR함수) - 개념/활용 #2. 요일 구하기(TO_CHAR함수) - 활용② : 영업일수 구하기(Working Day) : 주말,공휴일 제외 함수 상세 설명 https://blog.naver.com/chatton03/222541712517 SQL 실무 활용 예시 - 상세 ① https://blog.naver.com/chatton03/222541712517 SQL 실무 활용 예시 - 상세 ② (예제3) 특정 기간 내 주말(토,일) 제외한 영업일수(Working day) 구하기 ※ CONNECT BY 를 통한 1~N 까지 목록 생성하기 ▷ SQL query CONNECT BY와 LEVEL을 사용하면, 특정 값까지의 목록을 생성할 수가 있어요. 위의 예시와 같이 하면, 기본적으로 +1 단위로 생성이 되는 목록. 만약에 +0.1단위로 생성하고 싶으.......추천 -
[비공개] [SQL, 오라클] 요일 구하기(TO_CHAR함수) - 활용② : 영..
요일 구하기 #1. 요일 구하기 (TO_CHAR함수) - 개념/활용 #2. 요일 구하기(TO_CHAR함수) - 활용② : 영업일수 구하기(Working Day) : 주말,공휴일 제외 함수 상세 설명 https://blog.naver.com/chatton03/222541712517 SQL 실무 활용 예시 - 상세 ① https://blog.naver.com/chatton03/222541712517 SQL 실무 활용 예시 - 상세 ② (예제3) 특정 기간 내 주말(토,일) 제외한 영업일수(Working day) 구하기 ※ CONNECT BY 를 통한 1~N 까지 목록 생성하기 ▷ SQL query CONNECT BY와 LEVEL을 사용하면, 특정 값까지의 목록을 생성할 수가 있어요. 위의 예시와 같이 하면, 기본적으로 +1 단위로 생성이 되는 목록. 만약에 +0.1단위로 생성하고 싶으.......추천 -
[비공개] [SQL, 오라클] 요일 구하기(TO_CHAR함수) - 활용② : 영..
요일 구하기 #1. 요일 구하기 (TO_CHAR함수) - 개념/활용 #2. 요일 구하기(TO_CHAR함수) - 활용② : 영업일수 구하기(Working Day) : 주말,공휴일 제외 함수 상세 설명 https://blog.naver.com/chatton03/222541712517 SQL 실무 활용 예시 - 상세 ① https://blog.naver.com/chatton03/222541712517 SQL 실무 활용 예시 - 상세 ② (예제3) 특정 기간 내 주말(토,일) 제외한 영업일수(Working day) 구하기 ※ CONNECT BY 를 통한 1~N 까지 목록 생성하기 ▷ SQL query CONNECT BY와 LEVEL을 사용하면, 특정 값까지의 목록을 생성할 수가 있어요. 위의 예시와 같이 하면, 기본적으로 +1 단위로 생성이 되는 목록. 만약에 +0.1단위로 생성하고 싶으.......추천