Mysql 我很确定连接是错误的,但是我似乎无法使用我的查询获得任何数据来显示。我有一份要求清单

Mysql 我很确定连接是错误的,但是我似乎无法使用我的查询获得任何数据来显示。我有一份要求清单,mysql,Mysql,这些是对查询数据的要求。如果有帮助的话,我正在使用Saklia数据库 构造满足以下要求的查询: 返回按收视率分组的演员和他们的电影 限制结果,以便返回的演员姓氏为DEPP,不包括NC-17分级电影 返回每个演员的每个分级组的电影计数、平均电影长度和平均替换成本 显示的列应为actor\u id,actor\u name,评级,胶片计数,平均长度,以及平均更换成本。(您需要使用别名) 按actor\u name和rating对结果排序 这是我的MySQL查询 select a.acto

这些是对查询数据的要求。如果有帮助的话,我正在使用Saklia数据库

构造满足以下要求的查询:

  • 返回按收视率分组的演员和他们的电影
  • 限制结果,以便返回的演员姓氏为
    DEPP
    ,不包括
    NC-17
    分级电影
  • 返回每个演员的每个分级组的电影计数、平均电影长度和平均替换成本
  • 显示的列应为
    actor\u id
    actor\u name
    评级
    胶片计数
    平均长度
    ,以及
    平均更换成本
    。(您需要使用别名)
  • actor\u name
    rating
    对结果排序
这是我的MySQL查询

select
    a.actor_id, 
    concat(a.first_name,' ', last_name) as actor_name,
    F.rating,
    count(F.film_id),
    avg(F.length) as avg_length,
    avg(replacement_cost) as avg_replacment_cost 
from
    actor a 
    join film_actor fa on a .actor_id = fa.actor_id
    join film       F  on fa.film_id  = F .film_id
where
    concat(a.first_name, ' ', last_name) = '%DEPP'
    and
    F.rating
    and not 'NC-17' 
group by
    concat(a.first_name, ' ', last_name)
    and
    F.rating;
预期产出数据:


请提供示例数据和所需输出您的
WHERE
子句中的
WHERE f.rating
没有运算符-这通常是一个语法错误-或者MySQL将其重新解释为布尔值,这将搞乱您的查询。
concat(a.first_name',last_name)='%DEPP'
-这将匹配名为
DEPP
的无姓演员。
LIKE
运算符忽略尾随空格-并且您的谓词不是可搜索的。Dai您能再解释一下吗?。您需要提供一个包含示例数据和该数据的预期结果的列表。这些信息的图像没有用处,因为它们无法复制和粘贴以创建测试表。