🙌
Hands-On Leetcode Database Solution with Hive SQL
(Online Course)Learning SQL with meMy BlogAbout meFollow me on FBFollow my IG
  • INTRODUCTION
    • About This Book
    • 作者簡介
  • Exercise 1:185.Department Top Three Salaries
    • Hive Solution
  • Exercise 2:262. Trips and Users
    • Hive Solution
  • Exercise 3:569.Median Employee Salary
    • Hive Solution
  • Exercise 4:571.Find Median Given Frequency of Numbers
    • Hive Solution
  • Exercise 5:579.Find Cumulative Salary Of An Employee Problem
    • Hive Solution
  • Exercise 6:601.Human Traffic of Stadium
    • Hive Solution
  • Exercise 7:615.Average Salary: Departments VS Company
    • Hive Solution
  • Exercise 8:618.Students Report By Geography
    • Hive Solution
  • Exercise 9:1097.Game Play Analysis V
    • Hive Solution
  • Exercise 10:1127.User Purchase Platform
    • Hive Solution
  • Exercise 11:1159.Market Analysis II
    • Hive Solution
  • Exercise 12:1194.Tournament Winners
    • Hive Solution
  • Exercise 13:1225.Report Contiguous Dates
    • Hive Solution
  • Exercise 14:1336.The number of transactions per visit
    • Hive Solution
  • Exercise 15:1369.Get The Second Most Recent Activity
    • Hive Solution
  • Exercise 16:1384.Total Sales Amount by Year
    • Hive Solution
  • Exercise 17:1412.Find the Quiet Students in All Exams
    • Hive Solution
  • Exercise 18:1479. Sales by Day of the Week
    • Hive Solution
  • Exercise 19:1635. Hopper Company Queries I
    • Hive Solution
  • Exercise 20:1645. Hopper Company Queries II
    • Hive Solution
  • Exercise21 :1651. Hopper Company Queries III
    • Hive Solution
  • Exercise 22:1767.Find the Subtasks That Did Not Execute
    • Hive Solution
  • Exercise 23:1892.Page Recommendations II
    • Hive Solution
  • Exercise 24:1917.Leetcodify Friends Recommendations
    • Hive Solution
  • Exercise 25:1919.Leetcodify Similar Friends
    • Hive Solution
  • Exercise 26:1972.First and Last Call On the Same Day
    • Hive Solution
  • Exercise 27:2004.The Number of Seniors and Juniors to Join the Company
    • Hive Solution
  • Exercise 28:2010.The Number of Seniors and Juniors to Join the Company II
    • Hive Solution
Powered by GitBook
On this page
  1. Exercise 9:1097.Game Play Analysis V

Hive Solution

3.Hive Solution

-- Thinking1:每個player_id最小的act日期為註冊日
-- Thinking2:每個player_id註冊日的下一個event_date為註冊日期+1,即是day1_retention

-- ## solution1
SELECT 
a.install_dt,
count(a.player_id) as installs,
count(if( date_add(a.install_dt,1) = b.event_date_next,a.player_id,null)) 
	as reten_player,
count(if( date_add(a.install_dt,1) = b.event_date_next,a.player_id,null))
	/count(a.player_id) as day1_retention
FROM  
(select player_id, min(event_date) as install_dt
    from leetcode.ex_1097_activity group by player_id) a 
left join  
(select player_id, event_date,
	lead(event_date)over(partition by player_id order by event_date) 
	    as event_date_next
		from leetcode.ex_1097_activity) b 
	    ON a.player_id=b.player_id 
		and a.install_dt=b.event_date
GROUP BY a.install_dt ; 

	
	
-- ## solution2
SELECT 
a.install_dt,
count(a.player_id) as installs ,
count(b.event_date)/count(a.player_id) as day1_retention
FROM 
(select player_id, min(event_date) as install_dt
    from leetcode.ex_1097_activity group by player_id) a 
 left join 
 (select player_id,event_date from leetcode.ex_1097_activity) b 
 			ON a.player_id=b.player_id 
       				and date_add(install_dt,1)=event_date
 GROUP BY a.install_dt ;

PreviousExercise 9:1097.Game Play Analysis VNextExercise 10:1127.User Purchase Platform

Last updated 3 years ago