0
私はSQLで次のクエリがあります。クエリが列を見つけていない、ハイブSQLで同じカラムを示唆
select midquery.account, midquery.name, midquery.label, midquery.labelfrequency
from(
-- Count the appearance of each label.
select count(*) as labelfrequency, account, name, label
from(
select account, name, label from myTable
) innerquery
group by account, name, label
) midquery
-- Select most frequent values only.
where rank() over
(partition by midquery.account, midquery.name
order by midquery.labelfrequency desc) = 1
をアイデアは、名前、アカウントのセットごとに、最も頻繁にラベルを見つけることです。
Error while compiling statement: FAILED: SemanticException [Error 10002]: Line 12:74 Invalid column reference 'labelfrequency': (possible column names are: labelfrequency, account, name, label)
インタプリタが列labelfrequencyを見つけることができませんが、それを示唆することができますなぜ私はかなり理解していない:私はこのクエリを実行すると、私は次のエラーを取得します。この問題に取り組む方法の提案はありますか?
編集:選択部分にランク()を移動すると結果が表示されます。
select midquery.account, midquery.name, midquery.label, midquery.labelfrequency,
rank() over (partition by midquery.account, midquery.name
order by midquery.labelfrequency desc)
from(
-- Count the appearance of each label.
select count(*) as labelfrequency, account, name, label
from(
select account, name, label from myTable
) innerquery
group by account, name, label
) midquery