SELECT CASE WHEN FIRST_VISIT_REF_URL like 'search.%' OR FIRST_VISIT_REF_URL like ' http://search.%' OR FIRST_VISIT_REF_URL like '%www.google.co.kr/search?%' THEN '검색엔진'
WHEN FIRST_VISIT_REF_URL LIKE 'http://127.0.0.1%' OR FIRST_VISIT_REF_URL LIKE '127.0.0.1%' THEN '직접입력'
WHEN FIRST_VISIT_REF_URL like '%mail2.daum.net%' --다음
OR FIRST_VISIT_REF_URL like '%mail.naver.com%' --네이버
OR FIRST_VISIT_REF_URL like '%mail.yahoo%' --야후
OR FIRST_VISIT_REF_URL like '%mail.dreamwiz%' --드림위즈
OR FIRST_VISIT_REF_URL like '%mail.korea%' --코리아닷컴
OR FIRST_VISIT_REF_URL like '%mail.lycos%' --라이코스
OR FIRST_VISIT_REF_URL like '%netian.com/mailview%' --네띠앙
OR FIRST_VISIT_REF_URL like '%kebi.com/mbody%' --깨비
OR FIRST_VISIT_REF_URL like '%mail.chol%' --천리안
OR FIRST_VISIT_REF_URL like '%mail.live.com%' --핫메일
OR FIRST_VISIT_REF_URL like '%mail.nate%' --네이트
OR FIRST_VISIT_REF_URL like '%gmail.google.com%' --구글
THEN '이메일'
ELSE '웹사이트' END AS REF_TYPE,
FIRST_VISIT_REF_URL AS URL,
ID_SESSION,
CASE WHEN (SELECT COUNT(ID_SESSION) FROM ci_visitor_actions b WHERE a.visit_time BETWEEN TO_DATE ( '2014/01/21' , 'YYYY/MM/DD' )
AND TO_DATE ( '2014/01/21' , 'YYYY/MM/DD' ) + 0.99999
AND a.id_site =1 AND a.id_session = b.id_session )=1 THEN '반송' ELSE 'X' END AS RETURN_CNT
FROM ci_visitor_info a
WHERE a.visit_time BETWEEN TO_DATE ( '2014/01/21' , 'YYYY/MM/DD' )
AND TO_DATE ( '2014/01/21' , 'YYYY/MM/DD' ) + 0.99999
AND a.id_site =1 AND a.visit_count!=1
쿼리의 결과는
REF_TYPE |
URL |
ID_SESSION |
RETURN_CNT |
웹사이트 |
null |
2a74a93eb425050ca685c9ae5925efa4 |
X |
직접입력 |
http://127.0.0.1:8989/ci_log/main.jsp |
5c6ef7ce5560c180d904998f0ef3da62 |
X |
직접입력 |
http://127.0.0.1:8989/track_log/webBugTest2.jsp |
293c98d02adbe7eb9da1f1d9204504e5 |
반송 |
원하는 결과는
웹사이트 1개 반송 0개
직접입력 2개 반송 1개
이렇게 REF_TYP 중복 갯수를 구하고 각 REF_TYPE 마다 RETURN_CNT가 '반송'인 것의 갯수를 구하는 것입니다.
도와주세요~