MySql场景口试题:电商业务中高净值用户行为分析

打印 上一主题 下一主题

主题 865|帖子 865|积分 2595

❃博主首页 :   「码到三十五」   ,同名公众号 :「码到三十五」,wx号 : 「liwu0213」   
  ☠博主专栏 :   <mysql高手>    <elasticsearch高手>    <源码解读>    <java核心>    <口试攻关>   
  ♝博主的话 :  搬的每块砖,皆为峰峦之基;公众号搜刮「码到三十五」关注这个爱发技能干货的coder,一起筑基   
电商业务,一个订单表 orders 和一个用户表 users。你需要分析用户的购买行为,特别是那些在特定时间段内购买金额超过一定阈值的用户,并计算他们的平均购买金额、购买次数以及他们在总用户中的占比。
表结构:

  • 用户表 (users):

    • user_id (用户ID, 主键)
    • register_date (注册日期)
    • city (所在都会)

  • 订单表 (orders):

    • order_id (订单ID, 主键)
    • user_id (用户ID, 外键)
    • order_date (订单日期)
    • amount (订单金额)

需求:

  • 找出在2023年1月1日至2023年12月31日期间,累计购买金额超过10,000元的用户。
  • 计算这些用户的平均购买金额、平均购买次数。
  • 计算这些高代价用户在总用户中的占比。
  • 按都会分组,统计每个都会的高代价用户数量及其占比。
参考SQL:
  1. WITH high_value_users AS (
  2.     SELECT
  3.         u.user_id,
  4.         u.city,
  5.         SUM(o.amount) AS total_amount,
  6.         COUNT(o.order_id) AS total_orders
  7.     FROM
  8.         users u
  9.     JOIN
  10.         orders o ON u.user_id = o.user_id
  11.     WHERE
  12.         o.order_date BETWEEN '2023-01-01' AND '2023-12-31'
  13.     GROUP BY
  14.         u.user_id, u.city
  15.     HAVING
  16.         SUM(o.amount) > 10000
  17. ),
  18. total_users AS (
  19.     SELECT
  20.         COUNT(DISTINCT user_id) AS total_user_count
  21.     FROM
  22.         users
  23. ),
  24. city_stats AS (
  25.     SELECT
  26.         city,
  27.         COUNT(user_id) AS high_value_user_count,
  28.         COUNT(user_id) * 1.0 / (SELECT total_user_count FROM total_users) AS high_value_user_ratio
  29.     FROM
  30.         high_value_users
  31.     GROUP BY
  32.         city
  33. )
  34. SELECT
  35.     hvu.user_id,
  36.     hvu.city,
  37.     hvu.total_amount,
  38.     hvu.total_orders,
  39.     AVG(hvu.total_amount) OVER () AS avg_amount,
  40.     AVG(hvu.total_orders) OVER () AS avg_orders,
  41.     cs.high_value_user_count,
  42.     cs.high_value_user_ratio
  43. FROM
  44.     high_value_users hvu
  45. JOIN
  46.     city_stats cs ON hvu.city = cs.city;
复制代码
表明:

  • high_value_users: 找出在2023年内累计购买金额超过10,000元的用户,并计算他们的总购买金额和订单数量。
  • total_users: 计算总用户数。
  • city_stats: 按都会分组,计算每个都会的高代价用户数量及其在总用户中的占比。
  • 最终查询: 将高代价用户的信息与都会统计信息联合,计算平均购买金额、平均购买次数,并输出每个高代价用户的具体信息及其所在都会的高代价用户统计。

    关注公众号[码到三十五]获取更多技能干货 !   


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

不到断气不罢休

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表