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

在postgres中跨多个列聚合函数

罗茂实
2023-03-14
问题内容

我有一个包含多个包含整数(a1,a2,a3等)的字段的postgresql表。

我想一次跨多个列运行汇总函数(均值,标准差等)。(其中一些可能具有合理数量的空值,因此我不想只生成列平均值然后再对它们求平均值)。

我可以得到一组整数

SELECT unnest(array[a1,a2,a3]) as values FROM table

但是我然后无法获取聚合函数以将此作为输入。

谁能给我任何有关如何使它工作的提示?


问题答案:

使用子查询,您可以使用所有行:

SELECT sum(val) FROM (
    SELECT unnest(array[a1,a2,a3]) as val FROM table) alias;

您还可以对行进行分组,例如:

SELECT field, sum(val) FROM (
    SELECT field, unnest(array[a1,a2,a3]) as val FROM table) alias
GROUP BY field;


 类似资料:
  • 问题内容: 我在#temp表中具有以下数据: 我想做以下操作,即 一行将在两列上加法,即 另一行将在三列上减法加法,即 我曾尝试在SQL Server中使用case语句。 以下是所需的输出 哪里& 我曾尝试使用SQL SERVER Case语句,但未获得正确的输出 问题答案: 我看到至少有两种方法可以得到这些结果。分组或枢纽 在下面的示例中,显示了2种方法。 请注意,使用的是SUM(VALUE)而

  • 问题内容: 假设我有两个现有表,“ dogs”和“ cats”: 如何使用此输出编写查询? 问题答案:

  • 问题内容: 我试图从一个列中选择最大值,同时按具有多个重复值的另一个非唯一id列进行分组。原始数据库如下所示: 使用以下方法可以很好地工作: 它返回一个像这样的表: 我希望能够在不影响GROUP BY函数的情况下添加其他列,以将诸如name和type之类的列包括到输出表中,例如: 但是它总是输出一个错误,说我需要在select语句中使用聚合函数。我应该怎么做呢? 问题答案: 您遇到了每组最多的问题

  • 问题内容: 是否有可能执行聚合功能的? 假设我们有3个对象 。 第一个目标: 第二个obj: 第3个目标: 这三个对象的结果和汇总将是: 和 我试图聚集和这种方式: 这引起了错误: ProgrammingError:函数min(int8range)不存在第1行:SELECT MIN(“ app_mymodel”。“ price_range”)AS“ price_range__min” FROM“

  • Hadoop:(ver-1.2.1),(1+8节点集群) 我的用例是,我试图获得执行特定pig脚本所花费的时间,以及从mapreduce的角度来看,这些时间是如何花费的。我需要多次运行pig脚本(比如说100),以获得平均时间。我启用了,这使我在每个udf函数上花费时间作为mapreduce计数器。我还对每个作业报告的其他延迟、内存度量(cpu时间、堆使用率)感兴趣。我可以从jobtracker

  • 我想传递聚合函数,如min,max等作为查询参数使用元组。 pgException:在io.vertx.pgclient.impl.codec.errorResponse.toException(errorResponse.java:29)在io.vertx.pgclient.impl.codec.prepareStatementCommandCodec.handleerrorResponse(p