计算表中非空或非零列的数量

Dhi*_*raj 3 mysql

我有一张这样的桌子

ID   Name   Score_1   Score_2   Score_3
1    Abcd   4         5         5
2    Bdc    8         7         0
3    dcd    0         0         3
4    cdded  0         0         0
Run Code Online (Sandbox Code Playgroud)

我需要最后一列可以计算非零列的数量.结果应该是这样的

ID   Name   Score_1   Score_2   Score_3 Count
1    Abcd   4         5         5        3
2    Bdc    8         7         0        2  
3    dcd    0         0         3        1 
4    cdded  0         0         0        0
Run Code Online (Sandbox Code Playgroud)

谢谢

Nic*_*ssu 8

select *, 
if(score_1<>0,1,0)+if(score_2<>0,1,0)+if(score_3<>0,1,0) as `count` 
from table
Run Code Online (Sandbox Code Playgroud)

在需要时使用这样的选择而不是存储计算字段.