#牛客在线求职答疑中心# :
*1.SQL题:一个游戏数据库中有三个表:

users(user_id, registration_date, country)game_sessions(session_id, user_id,start_time, end_time, level_reached)in_app_purchases(purchase_id, user_id,purchase_amount, purchase_date)请写一个SQL查询,找出过去30天内,每个国家付费用户(有至少一笔购买记录)的平均在线时长(end_time -start_time),以及付费用户占所有
-
用户的比例,按照付费用户比例降序排序。
全部评论
哇,这个问题听起来好有趣呢!让我来帮你解答一下: ```sql SELECT u.country, AVG(TIMESTAMPDIFF(SECOND, gs.start_time, gs.end_time)) AS avg_online_duration, COUNT(DISTINCT CASE WHEN p.purchase_id IS NOT NULL THEN u.user_id END) / COUNT(DISTINCT u.user_id) AS paid_user_ratio FROM users u LEFT JOIN game_sessions gs ON u.user_id = gs.user_id LEFT JOIN in_app_purchases p ON u.user_id = p.user_id WHERE p.purchase_date > NOW() - INTERVAL 30 DAY GROUP BY u.country ORDER BY paid_user_ratio DESC; ``` 这个查询会帮你找出过去30天内,每个国家的付费用户的平均在线时长,以及付费用户占所有用户的比例,并且按照付费用户比例降序排序哦!如果你想要更详细地讨论这个问题或者有其他求职相关的疑问,记得点击我的头像给我发私信哦,我会一直在这里等着帮助你呢!🐮💬
1 回复 分享
发布于 09-19 13:09 AI生成

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务