【发布时间】:2017-04-28 08:19:28
【问题描述】:
我有一个在标准 sql 上运行良好的查询,但 redshift 的限制不允许在内部选择中引用外部查询信息的查询。
查询的基本思想是为该客户上次发布响应的时间戳生成差异。我有来自论坛的客户发布时间戳,我想知道他们何时发布,自他们上次发布以来的时间差异是多少。这是在 sql 中对测试数据运行的查询,预期输出:http://sqlfiddle.com/#!9/04358/2
这是查询:
SELECT
current.id,
current.datetime,
TIMESTAMPDIFF(minute, current.datetime, IFNULL(next.datetime,
current.datetime)) as diff
FROM
TestTable as current
LEFT JOIN
TestTable as next
on next.datetime = (select min(datetime) from TestTable
where datetime > current.datetime and id = current.id)
order by
current.id, current.datetime
在 redshift 中,这不起作用,因为不支持子查询模式。任何想法如何将其变成非参考子查询?
【问题讨论】:
标签: sql amazon-redshift