【发布时间】:2021-10-10 19:41:02
【问题描述】:
假设我在名为“score”的列中有很多 NULL 值(缺失值)。我想用一个特定的平均值来替换它们,而不是来自“分数”列的所有值,而是用我用两个连接类别的交叉类别构建的组:
这种查询适用于按组获取平均值:
SELECT
category1 || ' > ' || category2 AS crosscategory,
ROUND(CAST(AVG(score) AS FLOAT), 2) AS score_avg
FROM DatabaseName.TableName
GROUP BY crosscategory
ORDER BY score_avg;
这个可以用常量替换 NULL 值:
SELECT
NVL(score, 0) AS score_without_missing_values
FROM DatabaseName.TableName
我现在无法解决的问题是如何在此处用函数 AVG 和 GROUP BY 计算的平均值表达用常数替换 NULL 值。
非常感谢您的帮助!
【问题讨论】:
标签: group-by average teradata missing-data imputation