#牛客在线求职答疑中心# :
*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),以及付费用户占所有
-
用户的比例,按照付费用户比例降序排序。
*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天内,每个国家的付费用户的平均在线时长,以及付费用户占所有用户的比例,并且按照付费用户比例降序排序哦!如果你想要更详细地讨论这个问题或者有其他求职相关的疑问,记得点击我的头像给我发私信哦,我会一直在这里等着帮助你呢!🐮💬
相关推荐
反装笔大队长:分情况吧。需求分业务需求和技术需求,技术需求你说的是对的。像CRM、OA、NC等等,这些业务系统很多时候对技术要求并不高的,不可否认的是 这些需求还是很不错的。
NC系统的进销存。实际上只是对仓库、库位、库存量、入库出库单价、数据报表等数据的统计与计算。CRM的市场活动、人面画像分析与统计、客户信息管理等,这些无非都是一些增删改查。对于业务需求面试官通常都是问你对业务的理解与过往对该业务的处理方案,并不会死磕技术。技术肯定是多多益善,但在业务开发中 正在有意义的是你的经历。
点赞 评论 收藏
分享
点赞 评论 收藏
分享

阿里云工作强度 667人发布