【问题标题】:SQL - AVG() on * fields [duplicate]SQL - *字段上的AVG()[重复]
【发布时间】:2013-09-24 22:56:56
【问题描述】:

我想对包含许多字段的表中的所有值进行平均。

我的数据是这样的

col1  col2  col3  ...  col100
----  ----  ----       ------
1     1     1          1
2     4     8          16
3     9     27         81

并在查询中输出所有 AVG() 值,如下所示:

col1  col2  col3  ... col100
----  ----  ----       ------
2     4.67  12        32.67

以下查询给出错误。

SELECT AVG(*) FROM table

是否有任何 SQL 代码对所有字段进行 AVG() 而不显式命名?

注意:使用 OpenOffice Base。

【问题讨论】:

  • 我不知道(如果有的话很酷)。如果这是一次性使用并且这些数字是连续的,您可以使用电子表格来帮助在 select 语句中写出 100 个列名。 @A.O - 你错过了他的问题吗?,你发布的链接无助于回答“是否有任何 SQL 代码对 AVG() 所有字段没有明确命名?”。
  • 这是一个更大数据集的一部分。然后,平均值(和 sigma 等)必须与其他表相关,才能完成分析。通常,我使用电子表格,但随着收集的数据量很大,扩展到数据库会更有用......如果可能的话......
  • 根据 Chris Albert 的回答,我怀疑您会找到解决此问题的方法。您遇到的最大问题是桌子设计。 Col1 - col100 让人想起平面文件和早期数据库。有相当多的数据结构会更适合您在这里要求的内容……并不是您要求的内容无法完成,而是无法以这种格式完成。
  • 如果你使用非规范化的数据,你必须编写非规范化和非优化的查询来得到你想要的答案。规范化数据,查询变得微不足道。

标签: sql average openoffice-base


【解决方案1】:

如果不明确命名每一列,就无法做到这一点。这是来自 technet 的文档。

Technet AVG

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-21
    • 2014-12-24
    • 2022-01-05
    • 1970-01-01
    • 2011-01-07
    • 1970-01-01
    • 1970-01-01
    • 2019-12-27
    相关资源
    最近更新 更多