我有一张看起来像的桌子
| id | day1 | day2 | day3 | day4 | day5 |
| 1 | 4 | 0 | 5 | 0 | 0 |
| 2 | 2 | 0 | 0 | 4 | 1 |
我想找到每个 id 的零条目总数
| id | total_zeros |
| 1 | 3 |
| 2 | 2 |
我有一张看起来像的桌子
| id | day1 | day2 | day3 | day4 | day5 |
| 1 | 4 | 0 | 5 | 0 | 0 |
| 2 | 2 | 0 | 0 | 4 | 1 |
我想找到每个 id 的零条目总数
| id | total_zeros |
| 1 | 3 |
| 2 | 2 |
SELECT id, (day1=0)+(day2=0)+(day3=0)+(day4=0)+(day5=0) total_zeroes
FROM table
试试这个:
select
id, if(day1=0,1,0)+if(day2=0,1,0)+ if(day3=0,1,0)+if(day4=0,1,0)+if(day5=0,1,0) as total
from test
为什么人们坚持制作这种无法使用的桌子?
您将不得不使用 case 语句,并单独评估每一列,然后将结果相加。