0

我有一张看起来像的桌子

| 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           |
4

3 回答 3

4
SELECT id, (day1=0)+(day2=0)+(day3=0)+(day4=0)+(day5=0) total_zeroes
FROM table
于 2013-10-07T20:40:04.627 回答
2

试试这个:

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

在这里演示

于 2013-10-07T20:43:43.240 回答
1

为什么人们坚持制作这种无法使用的桌子?

您将不得不使用 case 语句,并单独评估每一列,然后将结果相加。

于 2013-10-07T20:40:40.723 回答