gpt4 book ai didi

sql - 将两个语句与count相除将返回零

转载 作者:行者123 更新时间:2023-12-03 17:46:56 28 4
gpt4 key购买 nike

我是SQL的新手(使用SQLiteStudio),正在尝试使用某些聚合函数。我想找到个人质量小于575的数据子集的比例,但查询始终返回零:

SELECT A/B*100
FROM (
SELECT COUNT(*) AS A
FROM Male
WHERE mass < 575 AND location = 'Hawaii')
,(
SELECT COUNT(*) AS B
FROM Male
WHERE location = 'Hawaii')
;


我已经阅读了其他问题,这些问题不得不将所讨论的变量声明为十进制,但是我不知道如何更改COUNT()函数的约束。将A * B相乘就可以了。

最佳答案

您可以将查询简化为一个select语句,然后通过与100.0进行乘法强制转换,其中.0应该有效

SELECT
(SUM(CASE WHEN mass < 575 THEN 1 ELSE 0 END) * 100.0) / COUNT(*)
FROM Male
WHERE location = 'Hawaii'

关于sql - 将两个语句与count相除将返回零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44710548/

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