You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按男女客户分组统计每位演员的租赁量与平均评分

分性别客户维度演员租赁统计SQL实现

任务要求

  • 拆分男性、女性客户两个维度,分别统计每位演员对应的电影租赁总次数、客户给出的平均评分
  • 仅返回租赁次数超过5次的演员统计结果
  • 依赖表:renting(租赁记录表)、customers(客户信息表)、actors(演员信息表)、actsin(演员-影片关联中间表)

表关联逻辑

四表关联全程用内连接过滤无效匹配数据,链路如下:

  1. 租赁表renting通过customer_id关联客户表customers,获取客户性别字段
  2. 租赁表renting通过movie_id关联中间表actsin,匹配影片对应的所有演员
  3. 中间表actsin通过actor_id关联演员表actors,获取演员姓名等基础信息

最终可运行SQL

SELECT
    c.gender AS customer_gender,
    a.actor_id,
    a.actor_name,
    COUNT(r.rent_id) AS total_rent_count,
    ROUND(AVG(r.rating), 2) AS avg_rating
FROM renting r
INNER JOIN customers c
    ON r.customer_id = c.customer_id
INNER JOIN actsin ai
    ON r.movie_id = ai.movie_id
INNER JOIN actors a
    ON ai.actor_id = a.actor_id
WHERE r.rating IS NOT NULL -- 过滤未评分的无效租赁记录,可根据实际业务需求调整
GROUP BY c.gender, a.actor_id, a.actor_name
HAVING total_rent_count > 5
ORDER BY c.gender, total_rent_count DESC;

关键语法说明

  • 分组字段必须同时包含客户性别、演员唯一ID、演员姓名,避免同名演员数据合并统计错误
  • 租赁次数的聚合过滤条件必须写在HAVING子句中,WHERE子句在分组聚合前执行,无法识别聚合计算生成的次数字段
  • 平均评分用ROUND()保留2位小数,符合日常统计的可读性要求
  • 内连接会自动剔除无匹配客户、无匹配演员信息的异常租赁数据,保证统计结果准确性

内容的提问来源于stack exchange,提问作者plarppkgnfzplixwcj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 19:01:17