Mysql SQL;错误代码:1111 |需要封装平均值
我有以下问题: 1) 我成功地创建了一个只显示多部电影收入的结果(计算租赁频率*租赁率)。[示例A] 2) 现在我想得到平均值。 如果我围绕它编写另一个查询(示例B),我已经设法做到了这一点,但是如果可能的话,我想将它包含在同一个查询中。[示例C-这给了我一个错误]。这有可能吗 示例A: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
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无关,而是部分包含错误消息本身。但也许您是对的。不管怎么说,看起来都不错&完成。