Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.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 添加两列与两列之和之间的SQL差异_Mysql_Sql - Fatal编程技术网

Mysql 添加两列与两列之和之间的SQL差异

Mysql 添加两列与两列之和之间的SQL差异,mysql,sql,Mysql,Sql,我基本上是SQL的新手,希望有一个简单的问题 我正在学习sqlbolt教程(),根据以下内容得到了两个截然不同的答案: SELECT director, SUM(domestic_sales + international_sales) as Cumulative_sales_from_all_movies FROM movies INNER JOIN boxoffice ON movies.id = boxoffice.movie_id GROUP BY Directo

我基本上是SQL的新手,希望有一个简单的问题

我正在学习sqlbolt教程(),根据以下内容得到了两个截然不同的答案:

SELECT director, SUM(domestic_sales + international_sales) 
           as Cumulative_sales_from_all_movies
FROM movies
INNER JOIN boxoffice ON movies.id = boxoffice.movie_id
GROUP BY Director
Vs

我只是想知道区别


谢谢:)

第二个版本不是有效的SQL,不应在任何数据库中工作。由于MySQL中的mis特性,聚合查询中允许使用“裸”列

您应该设置数据库的配置,以便只设置
组的
(请参阅)。这样,MySQL将符合标准SQL和几乎所有其他数据库


有什么区别?第一个版本使用同一个控制器对所有行上的值求和。第二个版本返回该控制器任意行的总和。

第二个版本不是有效的SQL,不应在任何数据库中工作。由于MySQL中的mis特性,聚合查询中允许使用“裸”列

您应该设置数据库的配置,以便只设置
组的
(请参阅)。这样,MySQL将符合标准SQL和几乎所有其他数据库


有什么区别?第一个版本使用同一个控制器对所有行上的值求和。第二个版本返回该导演任意行的总和。

谢谢戈登:))谢谢戈登:)现在“批准的编辑”会导致文本水平滚动,更难阅读。我宁愿在新行上有多个列值,以防止水平滚动。现在“批准的编辑”会导致文本水平滚动,使其更难阅读。我宁愿在新行上有多个列值,以防止水平滚动。
SELECT director, (domestic_sales + international_sales) 
           as Cumulative_sales_from_all_movies
FROM movies
INNER JOIN boxoffice ON movies.id = boxoffice.movie_id
GROUP BY Director