商品が登録されたテーブルを利用して、各項目の条件ごとに件数をカウントしたいことがある。
例えばこんなテーブル
name | color | size | price |
---|---|---|---|
A | red | big | 100 |
B | blue | small | 50 |
C | red | big | 100 |
D | yellow | big | 200 |
E | blue | small | 50 |
F | red | small | 50 |
今までは
SELECT COUNT(name),COUNT(color),COUNT(size),COUNT(price) FROM product WHERE color = ‘red’;
こんな感じで書いていた。この指定だと、WEHERには一つの条件しか書けない。複数の条件を指定したいときにはちょっと不便だった。専門書を見ていて次のように書けることを覚えたので記録。
SELECT SUM (color=’red’) AS Red
,SUM (size=’big’) AS Big
,SUM (1) AS Total
FROM product;
このように指定すると複数の集計条件を設定できる。この例はMySQLでのみ動作する。
Sum(1)と指定するとすべての行数を取得することができる。割合計算に使える。