我正在使用Hiveql查询预先处理一些原始数据。在这种情况下,我有一个名为布的表,我有3种颜色为红色,蓝色和绿色的布料。现在的问题是如何使用查询计算每种颜色的比例? 任何帮助赞赏!
答案 0 :(得分:0)
正如您所说,您有一个名为cloth
的表格,其中包含3种cloth
和3 color
。
因此,假设字段名为cloth
和color
。
select cloth, avg(Case when color='red' then 1 else 0 end)/ Count(*) * 1.0 As redratio, avg(Case when color='blue' then 1 else 0 end)/ Count(*) * 1.0 As blueratio, avg(Case when color='green' then 1 else 0 end)/ Count(*) * 1.0 As greenratio
from cloth group by cloth
答案 1 :(得分:0)
请尝试:
select
1.0 * sum(color='red')/count(*) as redRatio,
1.0 * sum(color='green')/count(*) as greenRatio,
1.0 * sum(color='blue')/count(*) as blueRatio
from cloth