snowflake-cloud-data-platform - 唯一 ID 的第一个实例时的情况
问题描述
我在 Snowflake 中,并试图在列中标记唯一 ID 的第一次出现。我一直在玩 first_value 但并没有真正到达任何地方。
所以我的数据看起来像这样:
ID Date
123 1/2019
123 2/2019
123 3/2019
234 2/2019
234 3/2019
理想情况下,我想要这样的东西:
ID Date First?
123 1/2019 1
123 2/2019 0
123 3/2019 0
234 2/2019 1
234 3/2019 0
我该如何做到这一点?
解决方案
你想要ROW_NUMBER
:
SELECT
ID,
Date,
IFF(ROW_NUMBER() OVER (PARTITION BY ID ORDER BY Date) = 1, 1, 0) AS First
FROM
schema.table
ORDER BY ID, Date
;
这将检查当前行是否是 ID 的第一个日期,如果是,则分配值 1(否则为 0)。
推荐阅读
- excel - 多个期间的天数,减去任何重叠
- xamarin - Xamarin Forms Prism MVVM 嵌套 TabbedPage 问题
- python - Python dash服务器未更新
- javascript - 遵循 tween.js 的路径
- c++ - 如何将 VB.Net 字符串作为 char* 传递给 C++ dll?
- verilog - 使用 Quartus 2 设计环形振荡器
- ionic-framework - Ionic 4 CDN 和 VueJS 按钮样式不起作用
- java - 如何处理无法创建呼叫适配器进行改造?
- javascript - 反应本机 TypeError:网络请求失败并使用 fetch()
- python - 通过在 python 中使用并行处理来加速内存使用率高的进程中的例程