在使用HIVE时,如果某个列应用了某个函数并使用如f(col) 重新命名列f(col) as fc,
对想基于fc直接直接group by时,如:
HIVE是不支持的,运行该语句会报错。
可以使用以下的两种方式来达到相同的目的:
(1)使用子查询
(2)不使用别名进行分组
对想基于fc直接直接group by时,如:
select f(col) as fc, count(*) from table_name group by fc
HIVE是不支持的,运行该语句会报错。
可以使用以下的两种方式来达到相同的目的:
(1)使用子查询
select sq.fc, count(*) from (select f(col), col from tableName) sq group by sq.fc
(2)不使用别名进行分组
select f(col) as fc, count(*) from table_name group by f(col)