有什么方法可以模拟标准 SQL BigQuery 中FILTER ( http://modern-sql.com/feature/filter ) 的行为吗?
我需要做的是:
SELECT
MAX(date) FILTER (WHERE event_happend = 1)
OVER (
PARTITION BY user_id
ORDER BY date ASC
ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING
)
FROM
...
本质上,我需要计算出当前行日期之前发生的特定事件的最近日期。列event_happened采用值0,并且我需要当前行日期之前1事件发生的最近日期 ( )。event_happened = 1
有什么方法可以模拟 FILTER 的行为吗?
#standardSQL
SELECT
MAX(IF(event_happend = 1, date, null))
OVER (
PARTITION BY user_id
ORDER BY date ASC
ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING
)
FROM
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4407 次 |
| 最近记录: |