snowflake-cloud-data-platform - 根据雪花中的选择条件查询创建单独的表
问题描述
我正在使用带有条件的选择查询来删除重复项。如下查询
select * from (
select LOCATIONID, OBSERVATION_TIME_UTC, max(ROW_KEY) ROW_KEY from OLD_TABLE group by LOCATIONID, OBSERVATION_TIME_UTC
)
在这里它将仅显示 3 列和 LOCATIONID、OBSERVATION_TIME_UTC、ROW_KEY 的 15 列
我想创建一个单独的表,其中包含所有列,并且列的顺序不应更改。
我试过下面的查询
create or replace table NEW_TABLE as
select * from (
select LOCATIONID, OBSERVATION_TIME_UTC, max(ROW_KEY) ROW_KEY from OLD_TABLE group by LOCATIONID, OBSERVATION_TIME_UTC
)
但是上面的查询只给出了 3 列,而我需要新表中的数据(它应该包含所有列)。请有人更正我的查询!
解决方案
Qualify could be used to grab the highest row(row_key) per location and observation_time:
-- create or replace new_table as
Select *
From old_table
Qualify row_number() over(partition by location_id, observation_time_utc
order by row_key desc) = 1
推荐阅读
- python - 我们如何确定神经网络的效率
- android - 我的 android 应用程序在某些新设备上不兼容
- php - AMP url 是否保留查询参数?
- vue.js - 表单提交后 Vue 反应性保持不变
- java - Appium 客户端库 JAR 的目的是什么?
- python - Presence_of_element_located:“str”对象没有属性“w3c”
- salesforce - 是否可以使用 SOQL 查询从外部系统(如移动应用程序)获取知识文章?
- sql - case 表达式和 when 语句为分组创建 true 值
- r - 如何将润滑间隔返回为一整天
- c - 单行 While 循环如何在 C 中工作?