mysql:13114
From: Ria <Ria <list@xxxxxxxxxx>>
Date: Tue, 27 Jun 2006 16:37:06 +0900
Subject: [mysql 13114] SELECTで集計をしたい
こんにちは、初めて質問させて頂きます、りあと申します。 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 となっています。 宜しくお願い致します。お目汚し失礼致しました。 りあ
-> 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]