【问题标题】:Choosing the second to last value in Impala/HIVE/SQL在 Impala/HIVE/SQL 中选择倒数第二个值
【发布时间】:2018-06-14 11:14:06
【问题描述】:

我想在 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

【问题讨论】:

  • 编辑您的问题并提供示例数据和所需结果。例如,我不知道“列表”在 SQL 上下文中的含义。

标签: sql hive impala


【解决方案1】:

你可以使用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

【讨论】:

    猜你喜欢
    • 2021-04-01
    • 1970-01-01
    • 2012-01-02
    • 1970-01-01
    • 2011-07-22
    • 1970-01-01
    • 2019-12-18
    • 1970-01-01
    • 2015-01-03
    相关资源
    最近更新 更多