Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从mysql表中的每个工作室中选择所有最高收入的电影_Mysql - Fatal编程技术网

从mysql表中的每个工作室中选择所有最高收入的电影

从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

我有一个表,在我的MYSQL表中有一个studio、title和worldwide列。我想从每个电影制片厂挑选所有赚钱最多的电影。我怎样才能做到这一点?请帮帮我。多谢各位

编辑

我现在有以下代码,但它不能正常工作

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;