如何从未确定的组中获取第一个值

Posted

技术标签:

【中文标题】如何从未确定的组中获取第一个值【英文标题】:How to get the first value from an undetermined group 【发布时间】:2021-12-27 14:15:15 【问题描述】:

谁能帮我解决这个问题,我正在使用 Athena,我正在寻找一些解决方案,Athena 不支持变量,那么我该如何填写 sessao 呢?

【问题讨论】:

你应该把你当前的查询放在问题中——作为文本,使用“代码”格式,不是嵌入图像。 【参考方案1】:

假设空值意味着空值 - 您可以使用 last_value 窗口函数和 ignore nulls 选项:

WITH dataset(value, ts) AS (
    values ('a', timestamp '2012-08-08 01:00'),
        (null, timestamp '2012-08-08 01:01'),
        (null, timestamp '2012-08-08 01:02'),
        ('b', timestamp '2012-08-08 02:00'),
        (null, timestamp '2012-08-08 02:01')
)


SELECT coalesce(value, last_value(value) ignore nulls over (order by ts)) value, ts
FROM dataset

输出:

value ts
a 2012-08-08 01:00:00.000
a 2012-08-08 01:01:00.000
a 2012-08-08 01:02:00.000
b 2012-08-08 02:00:00.000
b 2012-08-08 02:01:00.000

【讨论】:

按预期工作,感谢大师

以上是关于如何从未确定的组中获取第一个值的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C# 中将字符串中的所有内容捕获到单独的组中? [复制]

获取所选单选按钮的索引

php 获取另一组内的组中的字段

如何从 JSPlumb 中的组中删除项目?

从更大的组中分组数字

SQL Server 查询需要从组中提取数据