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. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 为什么4.1%2使用Ruby返回0.0999999999999996?但4.2%2 ==
- 最新QQ号码倒置方法
- SWFLoader 加载flash并调用flash里面的方法
- c – 通过make_unique / make_shared调用initializer_list构
- c – cocos2d-x CCTouchDispatcher – 没有sharedDispatche
- sqlite3在海思3516C平台上的移植过程讲解
- A survey of Flash Translation Layer——笔记注释
- c – Visual Studio代码格式如何在OSX上开箱即用
- AJAX + SVG 实现实时监控图表
- c# – 两个线程之间的共享变量与共享属性的行为不同