加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

PostgreSQL – 确定总数的百分比

发布时间:2020-12-13 16:13:37 所属栏目:百科 来源:网络整理
导读:我有一张桌子 ID | NUMBER------|----------1 | 1022 | 1453 | 5124 | 2315 | 94 并且我希望将所有’NUMBER’相加并从总计返回每行的%值. 结果应如下所示: ID | NUMBER | PERC------|--------------|-------1 | 102 | 9.42 | 145 | 13.43 | 512 | 47.24 |
我有一张桌子
ID    |    NUMBER
------|----------
1     |      102
2     |      145
3     |      512
4     |      231
5     |       94

并且我希望将所有’NUMBER’相加并从总计返回每行的%值.
结果应如下所示:

ID    |    NUMBER    |   PERC
------|--------------|-------
1     |      102     |   9.4
2     |      145     |  13.4
3     |      512     |  47.2
4     |      231     |  21.3
5     |       94     |   8.7

到目前为止,我有类似的东西:

SELECT (number/sum(number)*100) AS perc
FROM mytable;

但正如您所知,“数字”必须出现在GROUP BY或聚合函数中,因此我无法使用它.怎么做?

你可以使用带有over子句的sum:
SELECT  100.0 * number / sum(number) over () as perc
FROM    mytable;

Example at SQL Fiddle.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读