2016-12-28 4 views
0

ここで私の質問:(名前、日付、タイプ)のようないくつかのレコードを持つテーブルがあります。 a、b、cの3つのタイプがあると仮定します。次に、各タイプの平均%COUNT(タイプ)/ COUNT(テーブルの行数)を計算したいですか?グループを使用してハイブクエリのテーブル行数を見つける方法

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

"(COUNT(*)からxyzを選択してください)"これはエラーです。 テーブルの行数の検索方法は?

答えて

0

あなたは、クエリの下に使用することができます: -

タイプによってXYZグループからtype_cntとして(タイプ)をカウントし、タイプを選択します( からA.type、A.type_cnt、(A.type_cnt/B.total_cnt)を選択)A JOIN (xyzから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; 
関連する問題