我有一个名为得分
的数据库表所有列都设置为VARCHAR
,因为我想使用null data
,而不是0
! id ! A ! B ! avg !
-------------------------------
! 01 ! 10 ! 0 ! !
! 02 ! ! 10 ! !
! 03 ! 0 ! 10 ! !
! 04 ! 10 ! ! !
我想从这张表中得到平均值
! avg !
-------
! 5 !
! 10 !
! 5 !
! 10 !
我需要使用哪些 SQL 命令来实现上述结果
由于
答案 0 :(得分:0)
SELECT (COALESCE(A, 0) + COALESCE(B, 0)) /
((CASE WHEN A IS NULL THEN 0 ELSE 1 END) +
(CASE WHEN B IS NULL THEN 0 ELSE 1 END)) AS avg
FROM score
注意:强>
我没有处理除零的情况。