sql - 在 sql 中执行带有简单统计信息的表
问题描述
select
x1.
x2
...
x100
from mytab
我如何计算所有 100 列的平均值、最小值、最大值、标准差
IE 输出
column mean min max sigma
x1 1 1 1 1
x2 1 1 1 1
x3 1 1 1 1
怎么做?
解决方案
我会取消透视然后进行聚合:
select v.colname, avg(v.val), min(v.val), max(v.val), stdev(v.val)
from t cross apply
(values ('x1', x1), ('x2', x2), . . .
) v(colname, val)
group by v.colname;
您需要列出values()
子句中的所有列。您可能会发现使用 SQL 查询或电子表格更容易构建。
推荐阅读
- acumatica - 如何在 BQL 中使用“喜欢”
- php - 如何将属性添加到其他数组中的对象?
- android - 返回的响应错误代码:500 - Expo 和 React
- keras - 步幅的长度应为 1、1 或 3,但为 2
- powershell - Select-Object 使用管道与 -InputObject 有不同的行为
- java - Error when trying to use reference.orderByChild() to get data from a realtime database in Firebase
- xml - 为什么我的 XSL 文件不再应用于我的 XML 文件?
- php - 如何使用 htaccess 为空间创建 RewriteRule
- c - 如何拆分此功能
- mongodb - Mongodb对象id和分页