当前位置: 首页 > 面试题库 >

在SQL中创建动态SUM列

松安民
2023-03-14
问题内容

我有以下查询,该查询返回,商店编号及其区域以及2016年商店销售额的总和。

SELECT
EU.[STORE NO]                               
,EU.REGION
,SUM(SA.SALESEXVAT) AS 'STORE SALES'


FROM
[BHXSQL2014-DEV].BManalytics.dbo.EUactivestores EU

INNER JOIN
EUUKSQL01.dashboard.dbo.stocksalesaggregateweek sa 
ON  eu.[Store No]   =    sa.[branchno]

WHERE
sa.Fiscalyear  =     2016


GROUP BY 
EU.[Store No]   
,EU.REGION

我将如何添加第四列,以总结每个商店所在区域的销售额。

每个区域有许多存储,因此,在相同区域中具有存储的每个ROW上,该值将相同。

希望我能解释清楚吗?


问题答案:

您可以使用窗口功能:

SELECT EU.[STORE NO], EU.REGION,
       SUM(SA.SALESEXVAT) AS STORE_SALES
       SUM(SUM(SA.SALESEXVAT)) OVER (PARTITION BY EU.REGION) as REGION_STORE_SALES
FROM [BHXSQL2014-DEV].BManalytics.dbo.EUactivestores EU INNER JOIN
      EUUKSQL01.dashboard.dbo.stocksalesaggregateweek sa 
      ON eu.[Store No] = sa.[branchno] 
WHERE sa.Fiscalyear  =     2016
GROUP BY EU.[Store No], EU.REGION ;


 类似资料:
  • 问题内容: 我有以下表格示例。Thera可以是无限的分支机构和客户。我需要对该分支进行分组并计算他们的客户,然后用不同的列来显示它。 请注意,可以有无限的分支和客户,查询不仅必须在这种情况下有效。 在这种情况下,可接受的结果是: 示例SQL DATA 问题答案: 我认为写一个返回变量结构的流水线表函数虽然很复杂,但却是可能的。您的管道表函数将使用Oracle Data Cartridge接口和An

  • 问题内容: 我有3张桌子。团队,选项,选项团队。 团队拥有一个TeamId,名称 拥有Option拥有OptionId,OptionGroup OptionTeam拥有TeamId,OptionId,OptionGroup 我想获得一个团队列表,以及额外的列,这些列指示每个组有多少个选项连接到每个团队。这是通过上面的查询完成的,但是我想用表Option中的OptionGroup值替换4,5,6,1

  • 问题内容: 对于我的应用程序,我需要在运行时进行动态数据库连接。我知道,有多种方法可以创建多个数据源,但我认为它们并不是那么动态。设想: 用户可以输入数据库凭据并连接到远程数据库,以将单个行和表导入另一个数据库。为此,我需要动态连接到远程数据库。 我试图在服务中做到这一点,就像他们在“如果在grails中使用groovy sql类”中 所说的那样,它是否使用grails连接池? 注意:在这种情况下

  • 我们在没有任何产品数据的情况下设置了hybris,产品存储在MDM中,并使用另一个系统(Java app)在前端显示。当用户单击上游系统上的checkout以在hybris中创建产品时,请求被发送到hybris。hybris中是否有OOTB API,允许我们动态创建包含所有必填字段的产品。

  • 我知道如何在MVC中创建视图。

  • 我想要这样的url baseURL/dealer/index.php?r=rest/packinfo 我开始犯错了 URL查询字符串“r=rest/{method}”不能有replace block。对于动态查询参数,请使用@query。