2016-12-28 27 views
0

這裏我的問題:我有一個表(像名稱,日期,類型)的一些表。假設我有三個類型a,b和c。現在我要計算每種類型的均值COUNT(type)/ COUNT(錶行數)的百分比?如何查找使用組的hive查詢中的表格行數

 select type,COUNT(type) as counttype,counttype/(select COUNT(*) from xyz) from xyz group by xyz; 

「(從xyz中選擇COUNT(*))」這給了我錯誤。 如何查找錶行數?

回答

0

您可以使用下面的查詢: -

選擇A.type,A.type_cnt,從 (選擇類型(A.type_cnt/B.total_cnt),計數(型),通過類型從XYZ組type_cnt )A JOIN (從xyz選擇count(*)作爲total_cnt)B ON 1 = 1;

+0

謝謝你這麼多...它爲我的工作! –

0

沒有加入它的速度要快得多,使用分析功能:

select type, 
     count(type) as type_cnt, 
     count(type)/count(*) over() as pct 
    from xyz 
group by type;