myl*_*scc 5 sql snowflake-cloud-data-platform conditional-aggregation
Postgres 有一个非常有用的方法,叫做FILTERSnowflake 中似乎没有。在 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
Run Code Online (Sandbox Code Playgroud)
你会如何在雪花中做到这一点?有没有这么简洁的方法来做到这一点?
可能是一个非常基本的问题,但我对雪花世界相当陌生,之前只真正做过 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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4861 次 |
| 最近记录: |