【发布时间】:2021-01-25 22:40:37
【问题描述】:
我有一个更大的数据库表,其中一列 (bigint) 以字节为单位托管文件大小。此表中有大约 7500 万行。
现在我喜欢生成类似 Pareto 的聚合,将文件大小步骤作为类别。 输出应有 4 个计算列:
- 文件大小范围
- 计算:计数
- 计算:占总数的百分比
- 计算:文件大小的总和
- 计算:占总文件大小的百分比
示例: 第 1 行:500kB,45678 个文件,0.03%(占所有文件),124548 字节,占总文件大小的 0.0003% 第 3 行:500kB-> 1MB,... 第 4 行:... 第 n 行:>100GB,24 个文件,0,0001%(占所有文件),32425634232223654535 字节,占总文件大小的 5.432%
如果有意义,可以在单独的 SQL 表中提供分组(以字节为单位)。 到目前为止,我已经尝试单独查询所有这些行(选择 sum(filesize) where filesize > xyz),并在 Excel 中进行了最终计算等。但这似乎很奇怪。
在 PostgreSQL 中执行此操作的正确方法是什么?
【问题讨论】:
标签: sql postgresql