我正在尝试编写一个查询来计算与表中每个名称相关的转化率,如下表所示(假设真实的表有数千个不同的名称)
由于 abc 有一个 true 和一个 false,查询应显示 50% 的转化率(1 TRUE/2 Total = 50%)。对于 dhk,转换率为 75%(3 个 TRUE/总共 4 个),对于 xyz,转换率为 0%,因为没有 TRUE。
查询的最终输出应如下所示:
或者,如果我能弄清楚如何获得下面的输出,那也足以让我弄清楚其余的内容
如有任何帮助,我们将不胜感激,谢谢。
最佳答案
使用下面
select name,
avg(if(converted, 100, 0)) ConversionRate
from your_table
group by name
如果应用于问题中的示例数据 - 输出为
或者,您可以使用下面的
select *,
avg(if(converted, 100, 0)) over(partition by name) ConversionRate
from your_table
带输出
关于sql - 如何计算多行中出现的名称(字符串)的转换率,其中每行的转换有一列说明 TRUE 或 FASLE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72609889/