我有一个在sqlite中创建的表格,如下所示:
Age Height
12 186
175
169
13
15 171
我想用其列均值替换每列中的缺失值。我已经使用了更新功能,但是表中似乎没有任何可见的更新。说上表称为测试,我已经做到了
UPDATE test SET Age=13.3 WHERE Age IS NULL;
UPDATE test SET Height=175.25 WHERE Height IS NULL;
另外,我想知道如何将均值与选择语句自动合并,而不必手动输入
显然,缺少的值不是NULL,而是其他一些值,可能是空字符串。您应该解决此问题:
UPDATE test SET Age = NULL WHERE Age = '';
UPDATE test SET Height = NULL WHERE Height = '';
要计算一组值的平均值,请使用AVG聚合函数:
UPDATE test SET Age = (SELECT AVG(Age) FROM test) WHERE Age IS NULL;
UPDATE test SET Height = (SELECT AVG(Height) FROM test) WHERE Height IS NULL;
(AVG将忽略NULL值,但将其他无效值视为零值,因此,缺少的条目实际上是NULL是很重要的。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句