SQL GROUP BY の集約キーに複数指定
GROUP BYのとこって1つしか書けないのかなって思ってたら複数でもイケるんやね
こんなテーブルがあって
shohin_id | shohin_mei | shohin_bunrui | hanbai_tanka | shiire_tanka | torokubi |
0001 | Tシャツ | 衣服 | 10009 | 500 | 2009-09-20 |
0002 | 穴あけパンチ | 事務用品 | 500 | 320 | 2009-09-11 |
0003 | カッターシャツ | 衣服 | 4000 | 2800 | |
0004 | 包丁 | キッチン用品 | 3000 | 2800 | 2009-09-20 |
0005 | 圧力鍋 | キッチン用品 | 3000 | 5000 | 2009-01-15 |
0006 | フォーク | キッチン用品 | 500 | |
2009-09-20 |
0007 | おろしがね | キッチン用品 | 880 | 790 | 2008-04-28 |
0008 | ボールペン | 事務用品 | 100 | |
2009-11-11 |
0009 | テスト | テスト | 200 | |
2011-11-18 |
SELECT shohin_bunrui,COUNT(*) FROM shohin GROUP BY shohin_bunrui
shohin_bunrui | count |
キッチン用品 | 4 |
衣服 | 2 |
テスト | 1 |
事務用品 | 2 |
これはシンプルなGROUP BY の使い方
SELECT shohin_bunrui,hanbai_tanka,COUNT(*) FROM shohin GROUP BY shohin_bunrui,hanbai_tanka
shohin_bunrui | hanbai_tanka | count |
衣服 | 4000 | 1 |
事務用品 | 500 | 1 |
事務用品 | 100 | 1 |
キッチン用品 | 880 | 1 |
キッチン用品 | 3000 | 2 |
テスト | 200 | 1 |
キッチン用品 | 500 | 1 |
衣服 | 10009 | 1 |
GROUP BYに2つ指定してみた。
指定した2つの項目が一致するやつをまとめてくれるんだね。