[前][次][番号順一覧][スレッド一覧]

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]