从mysql表中的每个工作室中选择所有最高收入的电影
我有一个表,在我的MYSQL表中有一个studio、title和worldwide列。我想从每个电影制片厂挑选所有赚钱最多的电影。我怎样才能做到这一点?请帮帮我。多谢各位 编辑 我现在有以下代码,但它不能正常工作从mysql表中的每个工作室中选择所有最高收入的电影,mysql,Mysql,我有一个表,在我的MYSQL表中有一个studio、title和worldwide列。我想从每个电影制片厂挑选所有赚钱最多的电影。我怎样才能做到这一点?请帮帮我。多谢各位 编辑 我现在有以下代码,但它不能正常工作 SELECT studio, max(CAST(worldwide AS INT)* 1000000), title FROM top_movies GROUP BY studio; 您将值转换为整数,但在您的注释中,全球值是浮点值(886.92),因此转换为十进制。试试这个 SEL
SELECT studio, max(CAST(worldwide AS INT)* 1000000), title FROM top_movies GROUP BY studio;
您将值转换为
整数
,但在您的注释中,全球
值是浮点值(886.92),因此转换为十进制
。试试这个
SELECT studio, MAX(CAST(worldwide AS DECIMAL(20,2))* 1000000), title
FROM top_movies
GROUP BY studio;
或
希望这将给出正确的结果为什么工作不正常?为什么你要乘以一百万?请阅读,这里是一个伟大的地方,什么是全球的数据类型?为什么你在全世界范围内使用整型并乘以1000000?全世界范围内都是文本。因为所有值都被写为886.92而不是8869200000,所以它被乘以了。输出来自何处?如果您有
total_money
列,为什么要使用worldwide
?它返回的结果与第一次尝试相同。我之所以知道这一点,是因为最具全球价值的是福克斯的《阿凡达》,它在我的桌子上,但它展示了一些其他电影。泰坦尼克号和帕蒙特号也一样,这是正确的过程。问题是你不解释钱在哪里。首先你说有一个total\u money
列,然后使用worldide
列。那是什么呢?这个过程很简单,您首先找到了它的最大值,然后将它连接回表中,这样您就可以从该行中获取所有列。total\u money
是错误的名称。它被称为worldwide
,我再次建议您阅读我提供的链接。作为问题的一部分,您必须包括数据库模式(字段名和数据类型)
,然后是一些示例数据和预期结果。如果你有一个错误,你也可以把它作为问题的一部分,而不是在其他人不能错过的评论中。而且,不起作用
没有真正的帮助,你需要解释什么是错的。最后,问题看起来像是转换。只需删除分组依据
,并强制转换每个值。检查您是否得到正确的值。发布这些信息,我们从那里继续
SELECT studio, MAX(CAST(worldwide AS DECIMAL(20,2))* 1000000), title
FROM top_movies
GROUP BY studio;
SELECT studio, MAX(CAST(worldwide AS DECIMAL(20,2)))* 1000000, title
FROM top_movies
GROUP BY studio;