f_date |
f_ymd |
f_os |
f_browser |
f_page_view |
f_ip |
f_device |
|
2021-09-21 16:55:04 |
2021-09-21 |
windows |
Chrome |
1 |
221.148.63.00 |
pc |
2021-09-22 16:55:31 |
2021-09-22 |
windows |
Chrome |
1 |
221.148.63.00 |
pc |
2021-09-22 17:02:00 |
2021-09-22 |
windows |
Chrome |
3 |
221.148.63.00 |
mobile |
2021-09-23 17:03:00 |
2021-09-23 |
windows |
Chrome |
2 |
221.148.63.00 |
pc |
2021-09-24 17:03:13 |
2021-09-24 |
windows |
Chrome |
1 |
221.148.63.00 |
mobile |
2021-09-24 17:03:24 |
2021-09-24 |
windows |
Chrome |
4 |
221.148.63.00 |
mobile |
2021-09-25 17:05:09 |
2021-09-25 |
windows |
Chrome |
2 |
221.148.63.00 |
mobile |
2021-09-25 17:05:19 |
2021-09-25 |
windows |
Chrome |
1 |
221.148.63.00 |
pc |
위와 같은 테이블이 있는데,
특정 기간에 날짜별 접속기기(f_device)별 방문수(row의 갯수)와 페이지뷰(f_page_view)를 구해야 합니다.
SELECT *, sum(f_page_view) as page_view FROM `t_log` WHERE f_ymd>="2021-09-18" and f_ymd<="2021-09-25" group by f_ymd
이렇게 쿼리를 해봤는데, 날짜별 페이지뷰의 합은 나오는데, 기기별로 분리할 방법이 없을까요?
1. 날짜별로 페이지뷰의 합은 구했습니다. (sum(f_page_view))
2. 날짜별 f_device 값을 구분해서 볼 수 있을까요? (9-22일에 PC로 1명, mobile로 3명이 접속했다)
최종적으로 만들 데이터는
{
"date": "2021-09-21",
"Total": 1,
"PC": 1,
"Mobile": 0
}, {
"date": "2021-09-22",
"Total": 4,
"PC": 1,
"Mobile": 2
}, {
"date": "2021-09-23",
"Total": 2,
"PC": 2,
"Mobile": 0
}, ......
이런 식의 데이터입니다.
|