2014-11-04 59 views
1

我想要在Hive QL脚本中参数化GROUP BY子句。Hive中的条件GROUP BY子句QL

SELECT COUNT(*) AS sales, country, state, city 
FROM testdb.data 
WHERE 
    PRICE > 5 

GROUP BY 
    IF (TRUE, 
     (country, state, city), 
     (country, state) 
    ) 

如何实现这样的查询?

回答

0

我曾尝试在GROUP BY及其作品中使用CASE语句。 您可能想要验证查询的结果。 如果你可以将你的条件变成case语句,这个查询可以工作。

SELECT * 
FROM testdb.data 
WHERE price > 5 
GROUP BY country, state 
CASE <cond> 
    WHEN <val> THEN city 
END ;