4
我想獲取Hive中表的第一個四分位數的摘要數據。下面是一個查詢得到的意見,每個四分位數的最大數量:使用Hive ntile結果在where子句中
SELECT NTILE(4) OVER (ORDER BY total_views) AS quartile, MAX(total_views)
FROM view_data
GROUP BY quartile
ORDER BY quartile;
而這個查詢就是獲得了在第一個四分所有的人的名字:
SELECT name, NTILE(4) OVER (ORDER BY total_views) AS quartile
FROM view_data
WHERE quartile = 1
我得到這個錯誤的兩個查詢:
Invalid table alias or column reference 'quartile'
如何可以引用ntile
結果where
條款或group by
子句中?
我真的不明白你所造成的複合謂語模棱兩可的意思,你能舉個例子嗎? – Nadine
SELECT col1 FROM T1 WHERE ROW_NUMBER()OVER(ORDER BY col1)<= 3 AND col1>'100' 這裏的操作順序是什麼?謂詞的col1>'100'部分應該先運行還是應該按行編號。 – invoketheshell