选择Impala / HIVE / SQL中的倒数第二个值

时间:2018-06-14 11:14:07

标签: sql hive impala

我想获得Impala中列表的倒数第二项。是否有一个函数/方法会返回(min + 1)(x)?

示例表:

foo   bar
 1     3
 2     5
 3     6
 4     2
 5     8

功能

SELECT MIN(bar) FROM example

将返回

bar
 2

我想从bar中的数值列表中选择倒数第二个值:

SELECT SECONDTOLAST(bar) FROM example

返回

bar
 3

1 个答案:

答案 0 :(得分:2)

您可以使用row_number()功能:

select t.bar
from (select *, row_number() over (order by bar) as seq
      from table
     ) t
where seq = 2; -- Get the second last bar