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]