【发布时间】:2021-06-05 16:38:24
【问题描述】:
我写了以下查询
SELECT
data.id,
LAST_VALUE(data.access_type) OVER (
PARTITION BY data.id
ORDER BY CAST(FROM_UNIXTIME(ts) AS TIMESTAMP)
) AS access_type,
LAST_VALUE(CAST(FROM_UNIXTIME(ts) AS TIMESTAMP)) OVER (
PARTITION BY data.id
ORDER BY CAST(FROM_UNIXTIME(ts) AS TIMESTAMP)
) AS access_type_timestamp
FROM
table
data 是一个结构体。
我希望每个id 返回一行,最新的access_type 和ts 对应id。但是,它有时仍会为每个 id 返回多行。
我做错了什么?
【问题讨论】:
-
窗口函数应用于表格的每一行,不影响返回的行数。使用
SELECT DISTINCT ....
标签: sql window-functions presto