Mysql 按同一列分组的两个记录集之和之间的差值
我需要编写一个SQL查询来计算欧洲和亚洲之间的收入差异。我受应用程序开发的限制,无法分两步计算(分别计算各大洲的总数,然后计算差异) 以下是数据库:Mysql 按同一列分组的两个记录集之和之间的差值,mysql,sql,oracle,group-by,aggregation,Mysql,Sql,Oracle,Group By,Aggregation,我需要编写一个SQL查询来计算欧洲和亚洲之间的收入差异。我受应用程序开发的限制,无法分两步计算(分别计算各大洲的总数,然后计算差异) 以下是数据库: Sales(s_key, s_key, s_product, s_date, s_amount, s_quantity) Customer(c_key, c_name, c_city, c_country, c_continent) 你能帮我扩展这个查询吗?它计算欧洲的收入,以得到与亚洲收入的差异? 谢谢大家! Select Sum(s_am
Sales(s_key, s_key, s_product, s_date, s_amount, s_quantity)
Customer(c_key, c_name, c_city, c_country, c_continent)
你能帮我扩展这个查询吗?它计算欧洲的收入,以得到与亚洲收入的差异?
谢谢大家!
Select Sum(s_amount)
From Sales
Where c_continent = 'Europe'
Group By c_continent
谢谢你,安多玛。这不是标准的SQL,对吗?我是否需要安装另一个插件来支持此查询?对我来说,这看起来相当标准-可能
-1*s_amount
更通常意味着sum函数中的Case子句。它是标准SQL代码吗?sum(case…
是基本SQL的一部分,我所知道的所有数据库都支持开箱即用的SQL谢谢你和奥马尔。这不是标准的SQL,对吗?我需要安装另一个插件来支持这个查询吗?对我来说看起来相当标准-可能-1*s_amount
更常见的意思是sum函数中的case子句。这是标准的SQL代码吗?sum(case…
是基本SQL的一部分,我所知道的所有数据库都支持它
select sum(case s_continent
when 'Europe' then s_amount
when 'Asia' then -s_amount
end) as EuropeMinusAsia
from Sales