计算列相对于总计数的比例

pw136qt2  于 2021-07-14  发布在  Spark
关注(0)|答案(1)|浏览(487)

我试着做一些真正简单的事情,但无论我做什么都行不通。我想计算一下 'Device Cost'<5000 从总数中。我有:

SELECT COUNT (*)
FROM lab1_equipment
WHERE Device Cost < 5000

但我不知道如何使它成为分母和用途 COUNT (*) 没有where子句作为分子。我不需要分组,只要一个比例。任何帮助都会很有帮助。谢谢!
数据样本:

v09wglhw

v09wglhw1#

您可以按以下方式进行条件聚合:

SELECT AVG(case when Device Cost < 5000 then 1.0 else 0.0 end) 
FROM lab1_equipment

SELECT count(case when Device Cost < 5000 then 1 end) / count(*)
FROM lab1_equipment

相关问题