Mysql SQL;错误代码:1111 |需要封装平均值

Mysql SQL;错误代码:1111 |需要封装平均值,mysql,sql,Mysql,Sql,我有以下问题: 1) 我成功地创建了一个只显示多部电影收入的结果(计算租赁频率*租赁率)。[示例A] 2) 现在我想得到平均值。 如果我围绕它编写另一个查询(示例B),我已经设法做到了这一点,但是如果可能的话,我想将它包含在同一个查询中。[示例C-这给了我一个错误]。这有可能吗 示例A: SELECT COUNT(r.rental_id) * f.rental_rate AS Revenue FROM film f, rental r, inventory i

我有以下问题:

1) 我成功地创建了一个只显示多部电影收入的结果(计算租赁频率*租赁率)。[示例A]

2) 现在我想得到平均值。 如果我围绕它编写另一个查询(示例B),我已经设法做到了这一点,但是如果可能的话,我想将它包含在同一个查询中。[示例C-这给了我一个错误]。这有可能吗

示例A:

SELECT  COUNT(r.rental_id) * f.rental_rate AS Revenue
        FROM film f, rental r, inventory i
        WHERE i.inventory_id = r.inventory_id
            AND f.film_id = i.film_id
        GROUP BY f.title
        ORDER BY Revenue DESC 
示例B:(如何使其工作-封装查询)

示例C:(我希望它如何工作-一个查询)


示例C给出:“错误代码:1111\n组函数无效使用”

仔细查看错误消息组函数无效使用。问题出现在查询的第一行,如下所示。您不能以您正在尝试的方式嵌套组函数。您必须在外部查询中获取该信息

AVG (COUNT(r.rental_id) * f.rental_rate)
差不多

SELECT AVG(Revenue) FROM (
SELECT  COUNT(r.rental_id) * f.rental_rate AS Revenue
        FROM film f
        JOIN inventory i ON f.film_id = i.film_id
        JOIN rental r ON i.inventory_id = r.inventory_id
        GROUP BY f.title ) xxx
        ORDER BY Revenue DESC; 

仔细查看错误消息组函数的无效使用。问题出现在查询的第一行,如下所示。您不能以您正在尝试的方式嵌套组函数。您必须在外部查询中获取该信息

AVG (COUNT(r.rental_id) * f.rental_rate)
差不多

SELECT AVG(Revenue) FROM (
SELECT  COUNT(r.rental_id) * f.rental_rate AS Revenue
        FROM film f
        JOIN inventory i ON f.film_id = i.film_id
        JOIN rental r ON i.inventory_id = r.inventory_id
        GROUP BY f.title ) xxx
        ORDER BY Revenue DESC; 

切勿在
FROM
子句中使用逗号。始终使用显式的、适当的,
JOIN
语法。事实上,我在一小时前查阅了这篇文章。您应该重命名标题,这与SVG无关,而是部分包含错误消息本身。但也许您是对的。不管怎么说,看起来都不错&完成。切勿在
FROM
子句中使用逗号。始终使用显式的、适当的,
JOIN
语法。事实上,我在一小时前查阅了这篇文章。您应该重命名标题,这与SVG无关,而是部分包含错误消息本身。但也许您是对的。不管怎么说,看起来都不错&完成。