Windows版のMySQL5.0.96を使っています。
指定したデータの件数をカウントしようと、テーブル内のCategoryの「野菜」「果物」
を指定しましたがカウントできませんでした。
原因はなにが考えられるでしょうか?
■total テーブル(※修正1)
+------+----------+------------+-------+-------+
| code | category | name | price | sales |
+------+----------+------------+-------+-------+
| 1001 | 果物 | りんご | 300 | 4800 |
| 1002 | 果物 | オレンジ | 150 | 4950 |
| 1003 | 果物 | バナナ | 420 | 2100 |
| 1004 | 果物 | イチゴ | 880 | 7920 |
| 1005 | 果物 | 桃 | 620 | 2480 |
| 1006 | 野菜 | ピーマン | 245 | 6615 |
| 1007 | 野菜 | 人参 | 198 | 3762 |
| 1008 | 野菜 | ほうれん草 | 98 | 2058 |
+------+----------+------------+-------+-------+
■実行したSQL文(※修正2-太線部分)
select count(category) as "総数",
sum( case category when '果物' then 1 else 0 end ) as "果物の数" ,
sum( case category when '野菜' then 1 else 0 end ) as "野菜の数"
from total;
■実行結果
+------+----------+----------+
| 総数 | 果物の数 | 野菜の数 |
+------+----------+----------+
| 8 | 0 | 0 |
+------+----------+----------+
■列の構造
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| code | char(4) | YES | | NULL | |
| category | varchar(20) | YES | | NULL | |
| name | varchar(30) | YES | | NULL | |
| price | int(11) | YES | | NULL | |
| sales | int(11) | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/21 11:24 編集
2016/03/21 11:32
2016/03/21 11:44 編集
2016/03/22 14:34