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

mysql:14101

From: "F.Y" <"F.Y" <fumi_sby@xxxxxxxxxx>>
Date: Sun, 8 Jul 2007 19:04:23 +0900 (JST)
Subject: [mysql 14101] Re: ログのカウント方法

ヒントのみ。
1) LEFT JOIN使えばよろし。
2) 「可能です」。過去ログ読めばたくさん答えがのってる。

--- Hisamitsu Issei <ds1i-hsmt@xxxxxxxxxx> wrote:

> 久光と申します
> 
> 
> 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/
> =================================
> 
> 
> 
> 


--------------------------------------
Easy + Joy + Powerful = Yahoo! Bookmarks x Toolbar
http://pr.mail.yahoo.co.jp/toolbar/


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

     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]