院卒新人サラリーマンのメモ代わり

備忘としてのメモを記載

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つの項目が一致するやつをまとめてくれるんだね。