sql - Hive SQL:查找用户最后一次进入的时间
问题描述
我有点卡住了!我有一个用户表。用户得到分数,但不是每天都来。
我需要一种方法来显示用户在他们获得分数的最后日期的分数。可能是 1 个月前,我每天有 50M 行,所以我不能只摄取所有分区
知道我该怎么做吗?
select userid, score from user_table where dt = 20201206
解决方案
获取最新记录如下:
select userid, score
from
(select userid, score, row_number() over (partition by userid order by dt desc) as rn
from user_table)
where rn = 1
推荐阅读
- vue.js - Vue/Nuxt JS 没有重复的属性
- node.js - 如何使用 node.js 在 Firebase Cloud Firestore 中添加 sendgrid webhook 事件 Json 响应
- python - 如何将包含“$ -”、“字符”的 Panda 字符串转换为浮点数
- python - 如何从重复的观察中创建新列并在 Pandas DataFrame 中使用 Python 转置相关数据?
- scala - 案例类方法与 Spark 和 Scala 中伴随对象的效率
- javascript - Internet Explorer 兼容性?每个函数的 Javascript
- c - 将一个数字放入数组中,并将其从 char 转换为 int
- php - 我想使用 php 为 xml 文档转义双引号“”
- sql - Is there something like Python's list zip function for collections in Oracle SQL?
- rust - Proper bounds on associated types to allow default methods on traits