-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path10_Landing_page_trend.sql
69 lines (46 loc) · 2.17 KB
/
10_Landing_page_trend.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
-- Landing
USE mavenfuzzyfactory;
-- first lander-1 id is 23504 and date is 2012-06-19
SELECT * FROM website_pageviews;
SELECT * FROM website_sessions;
SELECT
MIN(created_at) AS min_date,
MIN(website_pageview_id) AS min_id
FROM website_pageviews
WHERE pageview_url = '/lander-1';
-- finding the first page view
CREATE TEMPORARY TABLE first_page_and_pageview_count
SELECT
website_pageviews.website_session_id,
MIN(website_pageviews.website_pageview_id) AS min_pageview,
COUNT(website_pageviews.website_pageview_id) AS count_pageviews
FROM website_pageviews
LEFT JOIN website_sessions
ON website_sessions.website_session_id = website_pageviews.website_session_id
WHERE website_sessions.created_at > '2012-06-01'
AND website_sessions.utm_source = 'gsearch'
AND website_sessions.utm_campaign = 'nonbrand'
AND website_pageviews.created_at < '2012-10-31'
GROUP BY website_pageviews.website_session_id;
-- CREATE temporary table with /lander-1 and /home
CREATE TEMPORARY TABLE counts_lander_and_create_at
SELECT
first_page_and_pageview_count.website_session_id,
first_page_and_pageview_count.min_pageview,
first_page_and_pageview_count.count_pageviews,
website_pageviews.pageview_url AS landing_page,
website_pageviews.created_at AS session_created_at
FROM first_page_and_pageview_count
LEFT JOIN website_pageviews
ON first_page_and_pageview_count.min_pageview = website_pageviews.website_pageview_id;
SELECT
-- YEARWEEK(session_created_at) AS year_week,
MIN(DATE(session_created_at)) AS week_start_date,
-- COUNT(DISTINCT website_session_id) AS total_sessions,
-- COUNT(DISTINCT CASE WHEN count_pageviews = 1 THEN website_session_id ELSE NULL END) AS bounced_sessions,
COUNT(DISTINCT CASE WHEN count_pageviews = 1 THEN website_session_id ELSE NULL END )* 1.0/COUNT(DISTINCT website_session_id) AS bounce_rate,
COUNT(DISTINCT CASE WHEN landing_page = '/home' THEN website_session_id ELSE NULL END) AS home_sessions,
COUNT(DISTINCT CASE WHEN landing_page = '/lander-1' THEN website_session_id ELSE NULL END) AS lander_sessions
FROM counts_lander_and_create_at
GROUP BY
YEARWEEK(session_created_at)