我有下面的代码,它计算事件列中出现的次数。
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
我希望能够像这样计算每一行的百分比。
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
大多数 SQL 方言支持 ANSI 标准窗口函数。因此,您可以将查询编写为:
select event, count(*) as event_count,
count(*) * 100.0/ sum(count(*)) over () as event_percent
from event_information
group by event;
窗口函数通常比子查询和其他方法更有效。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)