gpt4 book ai didi

mysql - 使用 case 语句查找百分比

转载 作者:行者123 更新时间:2023-11-30 00:44:04 24 4
gpt4 key购买 nike

以下 SQL 查询:

SELECT 

SUM(aol_int) AS AOL,
SUM(android_phone_int) AS Android_Phone,
SUM(androidTablet_int) AS Android_Tablet

FROM mytable;

给我 AOL、Android_Phone 和 Android_Tablet 列下的总值(value)

但是,我试图获取 AOL、Android_Phone 和 Android_Tablet 的百分比,因此我决定将上述查询编写如下:

SELECT 

SUM(CASE WHEN 'aol_int' THEN 100 END) / Count(aol_int) AS AOL,
SUM(CASE WHEN ‘android_phone_int’ THEN 100 END) /Count(android_phone_int) AS Android_Phone,
SUM(CASE WHEN ‘androidTablet_int’ THEN 100 END)/Count(androidTablet_int) AS Android_Tablet

FROM mytable;

我在每一列中都得到 NULL。我在这里做错了什么?

最佳答案

如果这 3 项加起来为 100%,那么您可以将每个总和除以总和以获得百分比。我的想法是,您希望将 20% 视为“20.00”而不是“0.2”,因此在我的示例中,我将比率乘以 100,并以小数精度 2 进行四舍五入,但这对您来说很容易根据您的需要更改这些内容。

select 
round((sum(aol_int) /
(sum(aol_int + android_phone_int + androidtablet_int))) *
100,2) as aol_percentage,
round((sum(android_phone_int) /
(sum(aol_int + android_phone_int + androidtablet_int))) *
100,2) as android_phone_percentage,
round((sum(androidtablet_int) /
(sum(aol_int + android_phone_int + androidtablet_int))) *
100,2) as android_tablet_percentage
from mytable

关于mysql - 使用 case 语句查找百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21535062/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com