Mysql 如何以单查询sakila格式计算百分比

Mysql 如何以单查询sakila格式计算百分比,mysql,sql,Mysql,Sql,我正在mysql中使用tablefilm 列为film\u id(主键)、category(电影类型)、长度(以分钟为单位) 我必须使用单个查询,不使用子查询并查找: 对于每种类型的影片,长度超过两小时的影片所占百分比 浪漫-63% 恐怖-70% 我可能尝试复制id列,但它不起作用目前我无法对此进行测试运行,但也许您可以?在我的脑海里,我会尝试这样的事情: SELECT f1.category, (count(f2.*)*100/count(f1.*)) AS percent FROM fil

我正在mysql中使用table
film
列为
film\u id
(主键)、
category
(电影类型)、
长度
(以分钟为单位)

我必须使用
单个查询
,不使用子查询并查找: 对于每种类型的影片,长度超过两小时的影片所占百分比

浪漫-63% 恐怖-70%


我可能尝试复制id列,但它不起作用

目前我无法对此进行测试运行,但也许您可以?在我的脑海里,我会尝试这样的事情:

SELECT f1.category, (count(f2.*)*100/count(f1.*)) AS percent 
FROM film f 
LEFT JOIN film f2 ON f1.film_id = f2.film_id 
WHERE f2.length > 120 
GROUP BY f1.category
ORDER BY f1.category;

我目前无法对此进行测试,但也许你可以?在我的脑海里,我会尝试这样的事情:

SELECT f1.category, (count(f2.*)*100/count(f1.*)) AS percent 
FROM film f 
LEFT JOIN film f2 ON f1.film_id = f2.film_id 
WHERE f2.length > 120 
GROUP BY f1.category
ORDER BY f1.category;

你能粘贴到目前为止你所做的吗?你能粘贴到目前为止你所做的吗?嗨,第一个tnx。我无法计算f*,所以我尝试了其他方法,但我已经100%获得了所有信息,因为当CONTION工作时,f1行也会向下尝试:选择f1.rating,(计数(f2.长度)*100/计数(f1.长度))从电影f1中的百分比左到右,在f1中加入电影f2。电影id=f2。电影id,其中f2.length>120按f1分组。但得到了G 100.000 PG 100.000,我只得到了100%的分数。你能详细说明为什么不能使用子查询吗?嗨,首先是tnx。我不能计算f。*所以我尝试了其他方法,但我得到了100%的分数,因为当控件工作时,f1行也会向下尝试:选择f1.rating(计数(f2.长度)*100/计数(f1.长度))从胶片f1向左的百分比加入f1上的胶片f2。胶片id=f2。胶片id,其中f2.length>120按f1分组。分级但得到G 100.000 PG 100.000i所有内容都得到100%。您能详细说明为什么不能使用子查询吗?