Eri*_*all 6 sql google-bigquery
我有一个Google Big Query Table,里面有一email列.基本上每行都显示存在该电子邮件地址的用户的状态.我想要查询表格以获得显示每个电子邮件地址的最新行的结果.我已经尝试了各种各样GROUP BY的,JOIN反对自己以及我将在MySQL中使用的通常有趣的东西,但如果整行不匹配,我会不断收到重复的电子邮件.
任何帮助深表感谢!
样本数据
user_email | user_first_name | user_last_name | time | is_deleted
test@test.com | Joe | John | 123456790 | 1
test@test.com | Joe | John | 123456789 | 0
test2@test.com | Jill | John | 123456789 | 0
Run Code Online (Sandbox Code Playgroud)
因此,如果我想要返回的数据采样:
user_email | user_first_name | user_last_name | time | is_deleted
test@test.com | Joe | John | 123456790 | 1
test2@test.com | Jill | John | 123456789 | 0
Run Code Online (Sandbox Code Playgroud)
Fel*_*ffa 11
SELECT user_email, user_first_name, user_last_name, time, is_deleted
FROM (
SELECT user_email, user_first_name, user_last_name, time, is_deleted
, RANK() OVER(PARTITION BY user_email ORDER BY time DESC) rank
FROM table
)
WHERE rank=1
Run Code Online (Sandbox Code Playgroud)