Solución:
los where
la cláusula se evalúa antes de la select
cláusula, por lo que no puede hacer referencia a los alias seleccionados en su cláusula where.
Sin embargo, puede hacer referencia a los alias de una tabla derivada.
select * from (
select user as u1, url as u2 from rank_test
) t1 where u1 <> "";
select * from (
select user, count(*) as cnt from rank_test group by user
) t1 where cnt >= 2;
Nota al margen: una forma más eficiente de escribir la última consulta sería
select user, count(*) as cnt from rank_test group by user
having count(*) >= 2
Si mal no recuerdo, puede hacer referencia al alias en having
es decir having cnt >= 2
Pude usar Alias en mi declaración de selección de Hive usando el símbolo de tilde “.
SELECT COL_01 AS `Column_A`;
La solución anterior funcionó para la versión 1.2.1 de Hive.
Link de referencia
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)