在 Snowflake 中从 Postgres 复制 FILTER 子句

Replicating FILTER clause from Postgres in Snowflake

Postgres 有一个非常有用的方法,叫做 FILTER,它似乎不在 Snowflake 中。在 Postgres 中它是这样工作的:

SELECT
  user_id,
  MIN(orders.started_at) FILTER (WHERE orders.sequence_in_subscription = 1) as time_of_t1
FROM platform.orders
GROUP BY 1

您将如何在 Snowflake 中执行此操作?有这么简洁的方法吗?

这可能是一个非常基本的问题,但我对 Snowflake 世界还很陌生,之前只真正接触过 Postgres。提前感谢您的帮助!

是的,您可以使用 CASE 表达式代替 FILTER 子句:

SELECT
    user_id,
    MIN(CASE WHEN orders.sequence_in_subscription = 1 THEN orders.started_at END) AS time_of_t1
FROM platform.orders
GROUP BY
    user_id;