我搜索了stackoverflow,并在SQL中找到了该解决方案
select max(concat(snapshot_year_month,snapshot_day)) from db.table where concat(snapshot_year_month,snapshot_day) < (select max(concat(snapshot_year_month,snapshot_day)) from db.tale)
但是,这在蜂巢中不起作用,并显示错误-
UnsupportedOperationException: Cannot evaluate expression: scalar-subquery#118829
如何在蜂巢中完成此任务? (尝试获得第二个最大值)
答案 0 :(得分:0)
您具有排名功能。
select *
from (select row_number() over(order by concat(snapshot_year_month,snapshot_day) desc) as rnum
from db.table
) t
where rnum=2
这假定串联的列是唯一的。如果不是唯一的,请使用dense_rank
。