用sql计算比率

时间:2015-07-06 04:35:35

标签: sql postgresql bigdata hiveql

我正在使用Hiveql查询预先处理一些原始数据。在这种情况下,我有一个名为布的表,我有3种颜色为红色,蓝色和绿色的布料。现在的问题是如何使用查询计算每种颜色的比例? 任何帮助赞赏!

2 个答案:

答案 0 :(得分:0)

正如您所说,您有一个名为cloth的表格,其中包含3种cloth和3 color。 因此,假设字段名为clothcolor

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