snowflake-cloud-data-platform - 如何根据雪花中的特定列删除重复项
问题描述
我有一个名为“Mytable”的表,如下所示(只是一个例子),它有两列 Hash 和 last_checked。
Hash last_checked
1 2021-04-01T12:14:00+00:00
1 2021-04-02T12:14:00+00:00
1 2021-04-03T12:14:00+00:00
2 2021-04-01T12:14:00+00:00
2 2021-04-02T12:14:00+00:00
2 2021-04-03T12:14:00+00:00
我想根据 last_checked 列/字段删除重复的哈希值。我需要保留最新的 last_checked 日期值。输出表如下
Hash last_checked
1 2021-04-03T12:14:00+00:00
2 2021-04-03T12:14:00+00:00
我没有在任何地方找到答案,所以希望我能在这里得到答案。谢谢
解决方案
假设你有 HASHTABLE AS TABLE With Columns Hash & last_checked
在使用 Predicate 之后使用此 HASHTABLE 中的子查询,还使用 Qualify Predicate 过滤 Windows 函数。
从哈希表中删除使用 (
SELECT HASHVAL,last_checked FROM HASHTABLE 限定 ROW_NUMBER() OVER (PARTITION BY HASHVAL ORDER BY last_checked DESC) !=1
) 作为
HASHTABLE_DERIVED
HASHTABLE.HASHVAL=HASHTABLE_DERIVED.HASHVAL 和 HASHTABLE.last_checked=HASHTABLE_DERIVED.last_checked
推荐阅读
- spring-boot - 无法使用 Spring Fox 启动 bean 'documentationPluginsBootstrapper' Spring boot Swagger 实现?
- mysql - 如何更新 JSON 列数组字段 MySql
- javascript - 如何等到所有的 Promise 都实现?
- mongodb - 如何使用 Spring Boot 从 MonogoDb 获取准确的 id
- php - php函数内爆换行的问题
- batch-rename - 为什么这只是在提示 id 后关闭 cmd?
- here-api - {状态:401,消息:“无效的 app_id app_code 组合”}
- python - 熊猫,紧凑的数据框 - 合并多列
- gsm - 我可以将 Android 下载到 GSM 套件吗?
- python - 使用 SQLAlchemy 和 Flask 时数据库存储在哪里?