首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL -计算计数百分比(列)

SQL -计算计数百分比(列)
EN

Stack Overflow用户
提问于 2016-05-18 23:16:46
回答 2查看 77.2K关注 0票数 16

我有下面这段代码,用来计算事件列中出现的次数。

代码语言:javascript
运行
复制
SELECT event, count(event) as event_count   
FROM event_information
group by event

event   event_count
a       34
b       256
c       45
d       117
e       3

我希望能够像这样计算每一行的百分比。

代码语言:javascript
运行
复制
event   event_count event_percent
a       34          7.47
b       256         56.26
c       45          9.89
d       117         25.71
e       3           0.66
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-18 23:19:33

代码语言:javascript
运行
复制
SELECT event, 
       count(event) as event_count,
       count(event) * 100.0 / (select count(*) from event_information) as event_percent
FROM event_information
group by event
票数 19
EN

Stack Overflow用户

发布于 2016-05-18 23:21:42

大多数SQL方言都支持ANSI标准窗口函数。因此,您可以将查询编写为:

代码语言:javascript
运行
复制
select event, count(*) as event_count,
       count(*) * 100.0/ sum(count(*)) over () as event_percent
from event_information
group by event;

窗口函数通常比子查询和其他方法更有效。

票数 30
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37303779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档