mysql - 如何对从 count() 派生的值求和 ()

标签 mysql sql

我有一个图表,其中包含基于层级的事件总数。 tot_incidents 中的值源自 count() 函数。我想添加第三列,百分比,tot_incidents 的值除以 tot_incidents 列的总数。

tier    tot_incidents
1       77
2       27
3       47
4       2

当我尝试 incidents/(sum(incidents)) as SNOW_prct 我收到一条可爱的消息“错误:聚合函数调用可能没有嵌套聚合或窗口函数 按应用层划分的 SNOW 警报”

我查看了案例和子查询,但我无法让代码适用于我的特定案例。

最佳答案

使用窗口函数:

select . . . ,
       incidents / sum(incidents) over () as SNOW_ratio
from t;

从 MySQL 8.0 开始可以使用窗口函数。

关于mysql - 如何对从 count() 派生的值求和 (),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57825966/

相关文章:

mysql:选择菜单 - 取消选择结果中不存在的所有类别

sql - 为什么即使提供了准确的数据,FLOAT 类型的数据比较也不起作用

android - Concat数据库表1个字段一行中的多个记录字符串

sql - PostgreSQL - 将每个表转储到不同的文件中

sql - EXEC sp_executesql 未按预期工作

php - 简单的登录脚本 - 登录时加密登录不起作用

php - Ajax 搜索返回问题

mysql - 如何在mysql中选择输赢记录

php - MySQL查询选择所有日期等于日期时间的今天

mysql - SQL:同时按列和 rand() 排序?