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

mysql:13115

From: "F.Y" <"F.Y" <fumi_sby@xxxxxxxxxx>>
Date: Tue, 27 Jun 2006 20:33:39 +0900 (JST)
Subject: [mysql 13115] Re: SELECT で集計をしたい

ヒント:
ユーザ変数とifを組み合わせる。

set @ruikei = 0;
set @chk = "";
select なんたら, かんたら数, if(ページ名 <> @chk, @rukei := かんたら数,
@r1 := (@r1 + 
かんたら数), (@chk := ページ名)
from あれこれ;

--- Ria <list@xxxxxxxxxx> からのメッセージ:
> こんにちは、初めて質問させて頂きます、りあと申します。
> DBでのSELECTで躓いています。初心者な質問で申し訳ないのですが、
> お手隙でご教授願えればと思います。
> 
> ページへのアクセス数をカウント数を集計するものを作成しています。
> 
> 基本的に
> ------+-----------+----------+------------
> ID     日付        ページ名   カウント数
> ID     BASEDATE    PAGENAME   COUNT          … フィールド名
> ------+-----------+----------+------------
> 00001  2006-06-24  Page1      3
> ------+-----------+----------+------------
> 00001  2006-06-25  Page1      5
> ------+-----------+----------+------------
> 00002  2006-06-25  Page3      2
> ------+-----------+----------+------------
> このような形でベースとなるカウントを取得しています。
> このテーブル構造は変更する事が出来ません。
> 
> 上記のカウント数を下のような形に整形する
> SELECT文を作成したいと思っています。
> -----------+---------+-----------+------------
> 日付        ページ名  カウント数  カウント累計
> E_BASEDATE E_PAGENAME E_COUNT     E_ALLCOUNT     … フィールド名
> -----------+---------+-----------+------------
> 2006-06-24  Page1     3           3
> -----------+---------+-----------+------------
> 2006-06-25  Page1     5           8
> -----------+---------+-----------+------------
> 2006-06-25  Page3     2           2
> -----------+---------+-----------+------------
> 具体的には「日付」と「ホスト」で括って、日毎のカウント数と
> その日までの累計を出したいと思っています。
> 
> SELECT 
>   BASEDATE,
>   PAGENAME,
>   SUM( COUNT ) AS E_COUNT
> FROM カウントテーブル名
> WHERE 
>   DCNTDATE >= '20060624' &&
>   DCNTDATE <= '20060625'
> GROUP BY BASEDATE,PAGENAME
> ORDER BY E_BASEDATE
> LIMIT 0 , 30
> 
> このような形で希望通りのSELECTを作る事は出来たのですが、
> 「E_ALLCOUNT」のSELECTがうまくいかずに困っています。
> 2006-06-25のレコードE_ALLCOUNTには、25日までのカウント数
> E_COUNTの累計を入れたいのです。
> 感覚的には SUM(SUM( COUNT )) AS E_ALLCOUNT だとか、
> SUM( E_COUNT ) AS E_ALLCOUNT のようになるのかな?と思ったのですが、
> どちらもエラーを起こしてしまいました。
> 
> 環境は
> apache:2.0.53
> mysql:3.23.58
> php:4.3.11
> となっています。
> 
> 宜しくお願い致します。お目汚し失礼致しました。
> 
> りあ
> 
> 

--------------------------------------
Let's start Yahoo! Auction  -  Free Campaign Now!
http://pr.mail.yahoo.co.jp/auction/

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

     13114 2006-06-27 16:37 [Ria <list@xxxxxxxxxx] SELECTで集計をしたい                    
->   13115 2006-06-27 20:33 ┗["F.Y" <fumi_sby@xxxx]                                       
     13116 2006-06-27 20:42  ┗["F.Y" <fumi_sby@xxxx]                                     
     13121 2006-06-28 14:56   ┗[Ria <list@xxxxxxxxxx]