2015-06-13 89 views
1

查詢結果我有這樣的查詢工作:蜂巢ORDER BY錯誤

SELECT movieid, COUNT(movieid) 
FROM rating 
GROUP BY movieid 

但是當我嘗試添加的順序由我得到一個錯誤:

SELECT movieid, COUNT(movieid) 
FROM rating 
GROUP BY movieid 
ORDER BY count(movieid) DESC; 

 Hive Internal Error: java.lang.NullPointerException(null)

我知道SQL查詢在sqldeveloper上工作。 因爲我還需要子集我創建了一個嵌套循環(使用說明限制沒有工作),但是這並不能正常工作或:勞動

SELECT * 
FROM 
(SELECT movieid, COUNT(movieid) 
FROM rating 
GROUP BY movieid 
ORDER BY count(movieid) DESC 
) 
where ROWNUM <= 200; 

我主要就是想訂單,然後我會進入下一步,看看子集部分是否工作。任何想法,爲什麼我得到一個nullpointexception錯誤?

感謝

回答

3

使用別名:

SELECT movieid, COUNT(movieid) as cnt 
FROM rating 
GROUP BY movieid 
ORDER BY cnt DESC; 

蜂巢(對於一些無法解釋的原因)不允許在order by聚合功能。這使我獲得了大約一半的我在Hive中編寫的查詢。我慢慢地想起來。 。 。

+0

該命令的作品與別名,非常感謝! 'SELECT movieid,COUNT(movieid)作爲CNT FROM評級 GROUP BY movieid ORDER BY CNT DESC極限200;' – hope288