Hive QL中的条件GROUP BY子句

时间:2014-11-04 18:12:07

标签: hadoop mapreduce hive cloudera hiveql

我正在尝试在Hive QL脚本中参数化GROUP BY子句。

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

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

如何实现这样的查询?

1 个答案:

答案 0 :(得分:0)

我尝试在GROUP BY及其作品中使用CASE语句。 您可能希望验证查询结果。 如果您可以将条件转换为case语句,则此查询可以正常工作。

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