sessions
3 years ago
create_referrer.txt
3 years ago
create_resource.txt
3 years ago
create_view.txt
3 years ago
create_visitor.txt
3 years ago
get_campaign.txt
3 years ago
get_campaigns.txt
3 years ago
get_cities.txt
3 years ago
get_countries.txt
3 years ago
get_current_traffic.txt
3 years ago
get_referrer.txt
3 years ago
get_referrers.txt
3 years ago
get_resource.txt
3 years ago
get_resources.txt
3 years ago
get_visitors_by_minute_interval.txt
3 years ago
get_visitors_by_ten_second_interval.txt
3 years ago
get_countries.txt
53 lines
| 1 | SELECT |
| 2 | * |
| 3 | FROM ( |
| 4 | SELECT |
| 5 | visitors.country_code, |
| 6 | visitors.country, |
| 7 | visitors.continent, |
| 8 | GROUP_CONCAT(DISTINCT sessions.visitor_id) AS visitor_ids, |
| 9 | SUM( IF(sessions.created_at BETWEEN :start AND :end, views.views, NULL)) AS views, |
| 10 | COUNT(DISTINCT IF(sessions.created_at BETWEEN :start AND :end, sessions.visitor_id, NULL)) AS visitors, |
| 11 | COUNT(DISTINCT IF(sessions.created_at BETWEEN :start AND :end, sessions.session_id, NULL)) AS sessions, |
| 12 | COUNT(DISTINCT IF(sessions.created_at BETWEEN :start AND :end AND sessions.final_view_id IS NULL, sessions.session_id, NULL)) AS bounces, |
| 13 | AVG( IF(sessions.created_at BETWEEN :start AND :end, TIMESTAMPDIFF(SECOND, sessions.created_at, sessions.ended_at), NULL)) AS average_session_duration, |
| 14 | SUM( IF(sessions.created_at BETWEEN :prev_start AND :prev_end, views.views, NULL)) AS prev_period_views, |
| 15 | COUNT(DISTINCT IF(sessions.created_at BETWEEN :prev_start AND :prev_end, sessions.visitor_id, NULL)) AS prev_period_visitors, |
| 16 | COUNT(DISTINCT IF(sessions.created_at BETWEEN :prev_start AND :prev_end, sessions.session_id, NULL)) AS previous_period_sessions, |
| 17 | AVG( IF(sessions.created_at BETWEEN :prev_start AND :prev_end, TIMESTAMPDIFF(SECOND, sessions.created_at, sessions.ended_at), NULL)) AS prev_period_average_session_duration, |
| 18 | SUM( IF(sessions.created_at BETWEEN :start AND :end, views.orders, NULL)) AS wc_orders, |
| 19 | SUM( IF(sessions.created_at BETWEEN :start AND :end, views.gross_sales, NULL)) AS wc_gross_sales, |
| 20 | SUM( IF(sessions.created_at BETWEEN :start AND :end, views.total_refunds, NULL)) AS wc_refunds, |
| 21 | SUM( IF(sessions.created_at BETWEEN :start AND :end, views.total_refunded, NULL)) AS wc_refunded_amount |
| 22 | FROM |
| 23 | wp_independent_analytics_sessions AS sessions |
| 24 | JOIN wp_independent_analytics_visitors AS visitors ON sessions.visitor_id = visitors.visitor_id |
| 25 | JOIN ( |
| 26 | SELECT |
| 27 | sessions.session_id, |
| 28 | COUNT(DISTINCT views.id) AS views, |
| 29 | COUNT(DISTINCT wc_orders.order_id) AS orders, |
| 30 | IFNULL(SUM(wc_orders.total), 0) AS gross_sales, |
| 31 | IFNULL(SUM(wc_orders.total_refunded), 0) AS total_refunded, |
| 32 | IFNULL(SUM(wc_orders.total_refunds), 0) AS total_refunds |
| 33 | FROM |
| 34 | wp_independent_analytics_sessions AS sessions |
| 35 | JOIN wp_independent_analytics_views AS views ON sessions.session_id = views.session_id |
| 36 | LEFT JOIN wp_independent_analytics_wc_orders AS wc_orders ON views.id = wc_orders.view_id AND wc_orders.status IN('wc-completed', 'completed', 'wc-processing', 'processing', 'wc-refunded', 'refunded') |
| 37 | WHERE |
| 38 | sessions.created_at BETWEEN :prev_start AND :end AND views.viewed_at BETWEEN :prev_start AND :end |
| 39 | GROUP BY |
| 40 | sessions.session_id) AS views ON sessions.session_id = views.session_id |
| 41 | WHERE |
| 42 | country_code IS NOT NULL AND sessions.created_at BETWEEN :prev_start AND :end |
| 43 | GROUP BY |
| 44 | continent, |
| 45 | country, |
| 46 | country_code |
| 47 | ORDER BY |
| 48 | visitors DESC, |
| 49 | views DESC, |
| 50 | country) subquery |
| 51 | WHERE |
| 52 | views > 0 OR prev_period_views > 0 |
| 53 |