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 に答える