我有一个场景,例如:
<div class="container">
<a href="#">This textlink is very long and should break nicely</a>
</div>
但是,Hive无法识别此语法,因此有任何合法的语法吗?
搜索后,我知道它可以使用with tmp as (select name from table1)
select * from table2 b
where b.name=(select max(name) from tmp)
来实现:
join
但是我不想使用join,因为select table2.* from table2
join (select max(name) as name from tmp) t2
where table2.name = t2.name
会非常慢,我只想将其作为参考。
像join
中一样,您可以将结果设置为参考:
MySQL
Hive可以达到将查询结果存储在set @max_date := select max(date) from some_table;
select * from some_other_table where date > @max_date;
中的效果。检查:HiveQL: Using query results as variables
Hive是否可以在SQL模式下支持此类功能?
答案 0 :(得分:0)
在Hive中,您可以实现以下目标:
select * from table2 b
where b.name=(select max(name) from table1)
其他方式: 您还可以在配置单元中创建临时表,这将有助于复制上面的Oracle查询。
CREATE TEMPORARY TABLE tmp AS SELECT name FROM table1;
SELECT * FROM table2 b WHERE b.name=(SELECT max(name) FROM tmp);