mysql:14100
From: Hisamitsu Issei <Hisamitsu Issei <ds1i-hsmt@xxxxxxxxxx>>
Date: Sun, 8 Jul 2007 16:41:32 +0900
Subject: [mysql 14100] ログのカウント方法
久光と申します MySQL 5.0.27です。 下記のような部品一覧テーブルと部品の使用履歴テーブルがあります。 部品一覧(material) ============= id name ------------- 1 ネジ 2 クギ 3 ワイヤ 4 フタ ============= (実物は約9000行あります) 使用履歴(log_mate) ================================ id 部品id 日時 (mate_id) (dt) -------------------------------- 1 4 2007-03-31 09:52:11 2 1 2007-03-31 10:47:18 3 3 2007-04-06 03:27:43 4 1 2007-04-27 14:52:10 5 2 2007-05-22 10:19:59 6 2 2007-06-04 19:10:45 7 1 2007-06-05 05:43:35 8 4 2007-06-23 00:52:19 9 3 2007-06-24 07:06:32 10 1 2007-07-08 12:30:18 ================================ (実物は約79万行あります) 半年に一回、部品別使用状況一覧を作成しているのですが SELECT material.id, material.name, count(log_mate.id) FROM `material` left join `log_mate` on material.id=log_mate.mate_id WHERE log_mate.dt >= "2007-1-1 0:0:0" AND log_mate.dt < "2007-2-1 0:0:0" GROUP BY material.id ORDER BY material.id このようなSQLを日付の部分を書き換えながら6回実行して 結果をEXCELに貼 付けてます。 これの不便なところは期間内に使用がなかった部品がリストから除外 され てしまうので、6回分をただEXCELに貼付けただけでは部品 名がずれてしまう のです。count(log_mate.id)が0も出してくれると助かる のですが。 1)期間内に使用がない部品については0回として、下記のよう にとにかく 部品一覧テーブル(material)にあるもの全ての使用回数を出力す るにはどん なSQLにしたらいいでしょうか。 ================== id name a ------------------ 1 ネジ 34 2 クギ 12 3 ワイヤ 0 4 フタ 46 ================== 2)1回のSQL文で下記のような一覧が出力できるとなおう れしいのですが可 能でしょうか。 ========================================== id name a1 a2 a3 a4 a5 a6 ------------------------------------------ 1 ネジ 34 21 0 5 45 36 2 クギ 12 32 22 14 39 0 3 ワイヤ 0 15 38 17 26 13 4 フタ 46 37 31 28 41 35 ========================================== PHPと組み合わせてブラウザに一覧表を作成させる方法ならで きると思う ので、そうしちゃおうかなとも思っているのですが、SQLだけで できる方法 があるならその方が便利だし知識も増えて応用がきくと思うので知って おき たいのです。よろしくお願いします。 ================================= == HISAMITSU ISSEI == == DS1I-HSMT@xxxxxxxxxx == http://www.ne.jp/asahi/pro/his/ =================================
-> 14100 2007-07-08 16:41 [Hisamitsu Issei <ds1] ログのカウント方法 14101 2007-07-08 19:04 ┣["F.Y" <fumi_sby@xxxx] 14102 2007-07-08 21:14 ┗[忠犬 KEN公 <ken_ken_] @ 14103 2007-07-09 21:19 ┗[Hisamitsu Issei <ds1] 14104 2007-07-09 21:55 ┣["F.Y" <fumi_sby@xxxx] 14106 2007-07-10 11:35 ┗[hama <smilestyle55@x]