🙌
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 10:1127.User Purchase Platform

Hive Solution

3.Hive Solution

SELECT
    x.user_id,
    x.spend_date,
    x.platform,
    x.total_amount,
    count(x.user_id) as total_user
FROM
(
select 
    t1.user_id,
    t1.spend_date, 
    t2.mobile_amount,
    t3.desktop_amount,
    coalesce(mobile_amount,0)+coalesce(desktop_amount,0) as total_amount,
    case when mobile_amount is not null and desktop_amount is not null then 'both'
        when mobile_amount is not null and desktop_amount is null then 'mobile_only'
        when mobile_amount is  null and desktop_amount is not null then 'desktop_only'
       END as platform
-- select *
from 
    (select distinct  user_id,spend_date from ex_1127_spending) t1
    left join
    (select  user_id,spend_date,sum(amount) as mobile_amount
        from ex_1127_spending  
            where platform ='mobile'
            group by user_id,spend_date) t2 
                    ON t1.user_id=t2.user_id and t1.spend_date=t2.spend_date
    left  join 
    (select  user_id,spend_date,sum(amount) as desktop_amount
        from ex_1127_spending  
            where platform ='desktop'
            group by user_id,spend_date) t3 
                    ON t1.user_id=t3.user_id and t1.spend_date=t3.spend_date
) x 
GROUP BY x.user_id,x.spend_date, x.platform,x.total_amount 
;

PreviousExercise 10:1127.User Purchase PlatformNextExercise 11:1159.Market Analysis II

Last updated 3 years ago