gpt4 book ai didi

MySQL:MAX(COUNT(*)) -- 错误 1111

转载 作者:行者123 更新时间:2023-11-29 12:37:16 25 4
gpt4 key购买 nike

我是 MySQL 新手;我正在使用 SAS,我的大脑被 SAS 风格所扭曲。因此,即使我认为我看到有人问了与我类似的问题,我仍然无法理解他们收到的答案。对此我深表歉意。

我有 2 个表:

film_category 包含列:

category_id,film_id,

,film_actor包含列

actor_id, film_id.

我通过 film_id 加入了他们

。问题是: 每个电影类别中最受欢迎的 Actor 有哪些?有16个类别、200名 Actor 、1000部电影。

SELECT film_actor.actor_id,MAX(COUNT(actor_id))
FROM film_actor JOIN film_category
ON film_actor.film_id = film_category.film_id
GROUP BY film_category;

果然,我一添加 MAX 就收到错误 1111...如果我的问题不清楚,请告诉我。谢谢你!-维拉

最佳答案

这是您的查询:

SELECT fa.actor_id, MAX(COUNT(fa.actor_id))
FROM film_actor fa JOIN
film_category fc
ON fa.film_id = fc.film_id
GROUP BY fc.film_category;

这是无效的,因为您不能嵌套聚合函数。

要做你想做的事,使用子查询和巧妙的聚合:

select film_category, max(numfilms) as maxnumfilms,
substring_index(group_concat(actor_id order by numfilms desc), ',', 1) as actor_id
from (select fc.film_category, fa.actor_id, count(*) as numfilms
from film_actor fa join
film_category fc
on fa.film_id = fc.film_id
group by fc.film_category, fa.actor_id
) ac
group by film_category;

关于MySQL:MAX(COUNT(*)) -- 错误 1111,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26580550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com