在Snowflake中从Postgres复制FILTER子句



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你会怎么做?有这么简洁的方法吗?

这可能是一个很基本的问题,但我对雪花世界还很陌生,以前只做过研究生。感谢您提前提供的帮助!

是的,您可以使用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;

最新更新