用同一数据集中的相似行值替换缺失值(无连接)
Replace missing value with similar row values in same dataset (no joins)
完成必要的 table 连接后,我想替换列中缺失的值,而该列中已存在正确的值。我想要的方法是“如果您在其他地方看到这一行的相同电子邮件,请获取相应的名称值并用它替换空字符串。”
示例:
email. name
abc@aol.com john
abc@aol.com ''
期望的输出:
email. name
abc@aol.com john
abc@aol.com john
我想用 john 填充 '' 因为查询知道他们的电子邮件完全相同。
假设这可以从 IFNULL 中受益,但欢迎任何帮助。
您可以使用MAX()
window函数:
SELECT email,
MAX(name) OVER (PARTITION BY email) name
FROM tablename;
完成必要的 table 连接后,我想替换列中缺失的值,而该列中已存在正确的值。我想要的方法是“如果您在其他地方看到这一行的相同电子邮件,请获取相应的名称值并用它替换空字符串。”
示例:
email. name
abc@aol.com john
abc@aol.com ''
期望的输出:
email. name
abc@aol.com john
abc@aol.com john
我想用 john 填充 '' 因为查询知道他们的电子邮件完全相同。
假设这可以从 IFNULL 中受益,但欢迎任何帮助。
您可以使用MAX()
window函数:
SELECT email,
MAX(name) OVER (PARTITION BY email) name
FROM tablename;