mysql:10047
From: Kouichi Matsumoto <Kouichi Matsumoto <matchori@xxxxxxxxxx>>
Date: Mon, 23 Aug 2004 16:14:19 +0900
Subject: [mysql 10047] Re: MySQLにカレンダーテーブルはありますか?
片寄さん、はじめまして。松本です。 > 平均値を求める評価式は、何日間? 週間、月間、年間を予定しています。 > 過去すべてですか?移動平均のように区間を決めないのですか? できたら株のように移動平均も面白いと思います。ただまずは その日までの平均が毎日表示できればと思ってます。 少し投稿内容が間違っていましたのでやりたいことを説明します。 SQLで取得したいのは、 「範囲指定したカレンダーと、その日毎の平均点」のリストです。 取得までできれば、あとはプログラム側で計算しようと思っています。 現在はレコードがある日しかカレンダーが取得できず困っています。 ■仕様 ・最初にプログラムで公開価格を任意に指定します。 ・評価は日本になじんだ?5段階評価で各自がつけられます。 つまり平均値3とします。 ・評価により価格が毎日変動します。 ※その日の評価が平均値3(普通)なら変動はありません。 ・上記結果を週間、月間、年間でグラフ表示します。 ■例 ○8/20 初値 100,000円 ○8/20 評価は2人で、4点と5点(平均 4.5点) ○8/20 グラフには102,000円を表示(4捨5入) ○8/21 評価は0人 102,000円を表示(現状維持) > 平均値は以下の式ですか? > SUM(評価点)/COUNT(評価した回数) はい。レコードは評価毎に記録されますので、以下の8/20は、4.5点になります。 8/20 4点 Aさん 8/20 5点 Bさん 現在は、日付でGROUP BYしています。 ただ、現在は評価されない日があると歯抜け状態になって困っています。 例えば上のように8/20だけ登録されている場合、 今日までの日全てに4.5と表示したいのです。 ■理想 8/20 4.5 8/21 4.5 8/22 4.5 8/23 4.5 ■現在 8/20 4.5 と表示されます。 週間グラフは本日より1週間前のレコードでWHERE句に絞り込みSQLを 書いていいる為、今日が8/28だとしたら、 グラフには何も表示されない寂しい結果になってしまい悩んでいます。 これがLEFT JOIN カレンダーテーブルとかにできると評価のない日の 日付も取得でき理想的な表示にするのも簡単と思います。 > 分母は経過日数ではないのですね? はい。 > グラフ化ツールの機能は、全く考えないのですか? これは、JPGraphというツールを使う予定です。 しかし、SQL一発で結果が一覧にできると嬉しいです。 ///* Kouichi.Matsumoto */
10045 2004-08-23 13:04 [Kouichi Matsumoto <m] MySQLにカレンダーテーブルはありますか? 10046 2004-08-23 15:21 ┣["片寄白王" <katayose] -> 10047 2004-08-23 16:14 ┃┗[Kouichi Matsumoto <m] 10048 2004-08-23 18:34 ┃ ┗["片寄白王" <katayose] 10049 2004-08-23 19:07 ┗[Naomasa Numajiri <na] 10050 2004-08-23 21:41 ┗[Kouichi Matsumoto <m] 10053 2004-08-23 22:54 ┗[深海水草 <VYG01106@x]