我是 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'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)