【发布时间】:2021-09-28 11:42:34
【问题描述】:
例如,我有一个来自营销数据库的潜在客户表。有多个具有重复电子邮件值的记录。我想合并所有重复记录以汇总到最新更新的记录中,如果最新更新的记录缺少某些字段的值,则从最近更新的其他记录中更新这些字段。
表:
| First | last | Phone | Job Title | State | Last Updated | |
|---|---|---|---|---|---|---|
| John | Doe | john.doe@example.com | MD | 1/1/2019 | ||
| John | low | john.doe@example.com | 1234567891 | Coach | VA | 1/1/2018 |
| John | Doe | john.doe@example.com | 3214569875 | Teacher | CA | 1/1/2017 |
| Andy | Yes | john.doe@example.com | DC | 1/1/2021 | ||
| Roby | Doe | john.doe@example.com | 8628423578 | Scientist | VA | 1/1/2025 |
输出 - 一条记录:
| First | last | Phone | Job Title | State | Last Updated | |
|---|---|---|---|---|---|---|
| Andy | Yes | john.doe@example.com | 1234567891 | Coach | DC | 1/1/2021 |
在此示例中,由于 2021 年的记录缺少电话号码和职位,因此这些值是从最近更新的记录 (2018 年) 中提取的。
我曾考虑过使用 Distinct 或 Unique 函数,但不确定如何使用最后更新的记录执行合并,然后用其他最新记录填充空白值。任何帮助将不胜感激!
提前谢谢你。
最好, 达维特
【问题讨论】:
-
为什么
1/1/2025行被忽略?
标签: sql google-bigquery