0
我做这个通过kludged我的方式,但我觉得有可能是一个更清洁/更快/更好的解决方案,而我总是渴望学习:MySQL的平均
UPDATE myTable SET fAvg =
(COALESCE(f1,0) + COALESCE(f2,0) + COALESCE(f3,0) + COALESCE(f4,0))
/
(
CASE WHEN f1 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN f2 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN f3 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN f4 IS NOT NULL THEN 1 ELSE 0 END
)
所以,那怎么能改善?
如果这就是我错过了那么我很高兴 - 我认为会有一些使用FIELD或一些我从未听说过的多列聚合函数的巧妙技巧。 – Codemonkey 2015-04-01 12:07:35