当前位置: 首页 > 知识库问答 >
问题:

返回每一行中每组的平均值

狄宇
2023-03-14

我正在使用SQL Server,数据库中有下表exampletable:

到目前为止我尝试了什么(错误的,因为它不计算每个组的平均值,而是计算所有列的总平均值):

SELECT 
    exampleGroup, exampleName, exampleValue,
    (SELECT AVG(exampleValue) FROM exampleTable) AS averageExampleGroup
FROM exampleTable;

共有1个答案

王骏
2023-03-14

您只需要使用over()子句,如下所示:

SELECT 
    exampleGroup, exampleName, exampleValue,
    AVG(exampleValue) OVER (PARTITION BY exampleGroup) AS GroupAvg
FROM exampleTable;

这将返回基于每个examplegroup的平均值,作为结果集中的一个新列。

 类似资料:
  • 问题内容: 假设我有下表 我想绘制这些值,但是由于我的真实表有成千上万个值,因此我考虑了获取每X行的平均值。我有什么办法可以做到这一点,即每2或4行,如下所示: 另外,是否有任何方法可以根据表中的总行数使此X值动态化?例如,如果我有1000行,则将基于每200行(1000/5)计算平均值,但是如果我有20行,则应基于每4行(20/5)计算平均值。 我知道如何以编程方式执行此操作,但是有什么方法可以

  • 问题内容: 假设我有一个返回sth的查询。像这样: 是否可以添加另一列来枚举每个组中的行(即,枚举具有其他角色的经理,工人和人员,而不考虑其他角色)?像这样: 使用Oracle扩展很好。 问题答案: 使用窗口功能:

  • 问题内容: 我在SQLite中有一个名为param_vals_breaches的表,如下所示: 我想编写一个查询,以小时为基础,向我显示一个特定的队列(例如“ a ”),每个队列的平均 参数 为 param_val 和 违规 数。因此,转置数据以获得如下所示的内容: 这可能吗?我不确定该怎么做。谢谢! 问题答案: SQLite没有PIVOT函数,但是您可以将聚合函数与表达式结合使用,以将行变成列:

  • 我的大脑正在融化。。。我正在努力实现以下目标: 我知道有多少个数组,每个数组有多少个元素。这些数字是动态的,但假设有:3个数组,每个数组中有18个元素。 例子: 现在我想得到所有三个数组的元素1的平均值,以及所有三个数组的元素2的平均值,以此类推。 最终结果应该是所有18个元素的平均值的一个数组。 比如: 如果3是固定的,这将起作用,但数组的数量是动态的。 希望这有意义...

  • 我试图为数据帧(如以下数据帧)获取每个分区每列的平均值: 也就是说,我想得到和的平均值,并将它们聚合成和的唯一组合。因此,生成的DataFrame应该是: 其中,我国城市分区的重复行已聚合为一行,具有平均值。 我研究了等等问题

  • 问题内容: 我有一张表,如下所示: 我从中创建以下视图: 现在,当我想创建每月计数以了解如何将每日总和除以得出平均列a(即特定月份中的天数)时,就会出现问题。 我知道要在PostgreSQL中获得成功,您可以: 但是我不能使用,我必须以某种方式让它知道分组完成的月份。任何建议,即什么应该取代 ??? 在此视图中: 问题答案: 更快,更短一点,您得到的是天数,而不是: 可以将多个单位合并为一个值。因