需要有效查询总和和

高卢纳斯

我有一个SQL查询,以根据以下情况选择金额的总和。

有些经理负责许多地点的销售。所有地点的所有经理的销售金额都存储在同一表中。我要从总表中选择经理名称,地点数量之和及其总金额。

以下是我拥有的SQL。这是工作。但是考虑表中的100k条记录,寻找一种更有效的实现方式。

SELECT 
D1.Manager_name,
D1.location_name,
sum(D1.sale_amount) sale_amount,
(select sum(D2.sale_amount) from details D2 where D1.Manager_name = D2.Manager_name) total_amount
FROM details D1
GROUP BY 
D1.Manager_name,
D1.location_name;

表数据和预期输出数据

蒂姆·比格莱森(Tim Biegeleisen)

您可以尝试SUM用作窗口函数来替换相关的子查询:

SELECT 
    D1.Manager_name,
    D1.location_name,
    SUM(D1.sale_amount) sale_amount,
    SUM(SUM(D1.sale_amount)) OVER (PARTITION BY D1.Manager_name) total_amount
FROM details D1
GROUP BY 
    D1.Manager_name,
    D1.location_name;

这是正在发生的事情的解释。窗口函数总是在最后求值在窗口函数之后唯一执行的是ORDER BY子句。另外,在上述情况下,在GROUP BY求值,仅在中间结果可用的列是Manager_namelocation_name,和SUM(sale_amount)因此,当我们将其SUM用作窗口功能时,可以按管理器进行分区,因此,我们可以找到所有聚集位置中每个管理器的总和。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

有效查询Hbase

要有效使用Hadoop和Mahout,需要多少Java?

数组子序列的最大可能平均值-需要有效的解决方案

需要有关RecyclerView.Adapter.notifyItemChanged(int位置,对象有效载荷)的示例

为什么不对需要有效负载的REST查询使用PUT?

如何在一次查询中获取特定记录的总和和所有记录的总和?

如何使用Elm中需要有效负载的消息创建任务?

需要有关此SQL查询的帮助

在Apache 2.2到2.4中需要有效的用户

需要有关Hive查询的帮助

带有总和和附加条件的msAccess查询

如何有效计算骰子总和?

来自$ _POST [“ organization”]的echo变量仅在sql查询中有效,而不能作为结果的总和

子查询中需要有子查询

在PostgreSQL中按月和年对查询结果进行分组,并获得有效的月总和

MySQL总和和案例查询

连接到AWS S3时身份验证需要有效的日期

Apache 2.4让我决定:需要有效的ip或需要有效的用户

为什么在运行声纳波时我需要有效的HTML文件作为片段容器?

需要有效地将数百万个时间序列数据插入Cassandra DB的建议

??? 使用==>设置传递给'CurrentAxes'属性的uicontrol句柄时出错-需要有效的轴句柄

需要有关SQL查询的帮助

使用多个联接优化SQL查询。需要有关快速有效地检索数据的技术的建议

为什么需要有效的驱动程序才能通过 USB 为设备充电?

需要有关 Oracle SQL 查询的帮助

查询有效但需要大量时间来执行

当传递带有修改行的 DataRow 集合时,Visual Studio VB 更新需要有效的 UpdateCommand

Google Play 管理中心的隐私权(APK 需要有效的隐私权政策 )

需要有效的方法来更新点击类别列表的视图