안녕하세요 즐거운 금요일 보내고 계신가요.
다름이 아니라 제가 이번에 간단한 통계쪽을 한번 짜보라고해서 해당 유져의 agent 부분을 가지고 db에 insert 치고 월별, 년도별 통계 데이터를 그리려고 하고있습니다.
해당첨부 이미지처럼 데이터들이 한로우씩 계속 쌓이고 있습니다.
이부분을 브라우져별 + 월별의 카운트들 , 브라우져별 + 년도별의 카운트 데이터를 추출해서 보여주고 싶은데요.
SELECT AGENT_NM, TO_CHAR(REG_DT, 'YYYY-MM') AS REG_DT, COUNT(1) AS CNT FROM VB_STAT_USERAGENT GROUP BY AGENT_NM, TO_CHAR(REG_DT, 'YYYY-MM') ORDER BY AGENT_NM ASC;
이런식으로 처리하였을때 문제가 AGENT_NM 이라는 컬럼에 같은 브라우져가 들어오는게 문제입니다.
저에게 필요한 데이터는 예를들면
DATE Chrome IE Safari
2015-03 10 20 12
2015-04 5 34 5
2015-05 12 22 9
이런식의 데이터를 가져오고 싶습니다.
생각을 하면서 적었으나 질문이 불명확하거나 부족한부분은 말씀해주시면 계속 수정하겠습니다.
부탁드립니다 ^^
SELECT TO_CHAR(reg_dt, 'yyyy-mm') AS reg_ym , COUNT(CASE WHEN agent_nm LIKE '%Chrome%' THEN 1 END) "Chrome" , COUNT(CASE WHEN agent_nm LIKE '%IE%' THEN 1 END) "IE" , COUNT(CASE WHEN agent_nm LIKE '%Safari%' THEN 1 END) "Safari" , COUNT(CASE WHEN agent_nm LIKE '%Firefox%' THEN 1 END) "Firefox" , COUNT(*) tot FROM vb_stat_useragent GROUP BY TO_CHAR(reg_dt, 'yyyy-mm') ORDER BY reg_ym ;