在雪花中使用MAX函数和ORDERBY的问题 [英] Issues using Max function and orderby in snowflake

查看:18
本文介绍了在雪花中使用MAX函数和ORDERBY的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是雪花新手,我正在尝试运行一些SQL查询来获取最新日期及其相关IP

表名:lex

id 日期 IP
001 2022-01-14 15:03:43.000 5.3.3.46.173
001 2021-01-14 15:03:43.000 9.3.3.26.193
002 2022-01-14 15:03:43.000 NULL
001 2021-01-13 15:03:43.000 4.3.9.46.173
002 2022-01-10 15:03:43.000 8.1.3.26.122
003 2022-01-14 15:03:43.000 7.3.3.66.177

我要实现的目标

id 日期 IP
001 2022-01-14 15:03:43.000 5.3.3.46.173
002 2022-01-14 15:03:43.000 NULL
003 2022-01-14 15:03:43.000 7.3.3.66.177

我到目前为止所做的工作

Select id,
       date,
       ip
From lex
where date = (Select Max(date) from lex)

此代码只给我一行,而不是三行

推荐答案

使用QUALIFY

SELECT *
FROM lex
QUALIFY ROW_NUMBER() OVER(PARTITION BY id ORDER BY date DESC) = 1;

如果每个ID可以完全同时有多行,则应改用RANK

这篇关于在雪花中使用MAX函数和ORDERBY的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆