728x90
반응형
회원 가입 증가 현황 통계 쿼리
회원 가입 통계 쿼리를 만들어 보려고 합니다
저도 아직 익숙하지 않아서 조금 더 좋은 방법 있다면
댓글 남겨주세요~
등록일(REG_DT)을 기준으로 신규회원 가입현황을 알아볼 수 있게 쿼리를 만들어 봅시다
밑의 쿼리는 금일 신규가입 현황을 볼 수 있는 쿼리입니다
param값을 today와 oneDay를 받아서 처리하기 때문에
기간별 신규회원 증가 수를 확인할 수 있습니다
여기 가장 중요한 것은 서브 쿼리를 만들 때 등록일 기준으로 카운팅을 하고 등록일 시분초로 기준으로
데이터를 추출하여 GROUP BY를 해야 한다는 것입니다
그럼 아래의 쿼리를 천천히 봅시다~
SELECT
decode(MB_TPCD, '0010', '일반', '0020', '개인사업자', '0030', '법인', '0040', '단체') as memberType,
REG_CNT AS total
FROM (
SELECT
T1.MB_TPCD
, NVL(REG_DT, #{today}) AS REG_DT
, REG_CNT
FROM (
SELECT
MBM.Mb_TPCD
, A.REG_DT
, COUNT(A.REG_DT) AS REG_CNT
FROM (
SELECT
/* 오늘날짜를 할당해서 기간동안의 증가 현황을 볼 수 있게 추출한다 */
TO_CHAR(REG_DT, 'YYYYMMDD') AS REG_DT
, MB_TPCD
FROM MB_MST
/* 오늘날짜를 할당해서 기간동안의 증가 현황을 볼 수 있게 추출한다 */
WHERE REG_DT BETWEEN TO_DATE(#{today} || '000000', 'YYYYMMDDHH24MISS') AND TO_DATE(#{oneDay} || '235959', 'YYYYMMDDHH24MISS')
) AS MBM,
GROUP BY MBM.MB_TPCD, MBM.REG_DT
) AS T1
) AS VW1
/* 금일이나 특정날을 지정해서 증가 현황을 확인할 수 있다 */
WHERE VW1.REG_DT BETWEEN TO_DATE(#{today}) AND TO_DATE(#{oneDay})
ORDER BY MB_TPCD ASC
이렇게 신규 회원 증가 현황 쿼리를 알아보았습니다
금일도 괜찮고 기간별로도 조회할 수 있는 쿼리를 만들어 보았습니다
통계는 비즈니스적인 요소가 많이 필요하다고 생각합니다
회원 통계는 그렇게 많이 필요하지 않지만
어떤 상품에 대한 판매현황, 광고효과 분석 통계 쿼리를 만들기 위해서는
조금은 더 복잡한 쿼리가 되지 않을까 생각합니다
그럼 오늘은 여기까지 하고 다음 포스팅을 기대해주세요
언제나 우리의 대모험을 위해
오늘도 한 걸음씩 나아갑시다
그럼 파이팅!!
728x90
반응형
'IT_Web > Oracle' 카테고리의 다른 글
Oracle - CASE, DECODE, GROUP BY 활용 통계쿼리문 (0) | 2022.08.25 |
---|---|
oracle 상품 판매 통계 쿼리 union all case group by 활용 (0) | 2022.08.10 |
Oracle mybatis 활용 DECODE CASE GROUP BY ROLLUP 회원 통계 쿼리 월별 분기별 년도별 (0) | 2022.08.08 |
오라클 트리구조 완벽 이해하기 oracle start with connect by 사용법 (0) | 2022.07.13 |
오라클 한번에 여러 테이블 데이터 삽입, oracle INSERT ALL하기 (0) | 2022.07.11 |