如何在统计演员参演电影数量的SQL结果中显示演员姓名?
解决建议
首先纠正你原SQL语句里的一个小错误:你关联的表是movie,但ON条件里写了film.actorsID,这会导致表不存在的错误,需要改成movie.actorsID。
要在结果中显示演员的名字和姓氏,只需要在SELECT子句中添加对应的字段,并在GROUP BY子句中包含这些字段(SQL要求GROUP BY必须包含所有非聚合的查询字段)。假设你的actors表中存储名字和姓氏的字段是first_name和last_name,修改后的SQL语句如下:
SELECT actors.id, actors.first_name, actors.last_name, COUNT(movie.title) AS MovieTotal FROM movie JOIN actors ON movie.actorsID = actors.ID GROUP BY actors.id, actors.first_name, actors.last_name
说明:
- 在
SELECT中加入actors.id、first_name、last_name,就能在结果中同时展示演员的ID、名字、姓氏以及参演电影数量 GROUP BY必须包含所有非聚合的字段(也就是除了COUNT(...)之外的字段),这样分组逻辑才会正确关联到每个演员的信息- 如果你的
actors表中名字和姓氏的字段名不是first_name和last_name,直接替换成实际的字段名称即可
内容的提问来源于stack exchange,提问作者Mr. Xylon
相关产品推荐
相关产品推荐

