dポイントプレゼントキャンペーン実施中!

例えば表名[株価推移]の項目に、[銘柄番号][日付(mmdd)][株価]とある場合。

銘柄毎、日付毎の株価の平均を出すのであれば、
SELECT [銘柄番号],[日付(mmdd)],AVG([日付(mmdd)]) FROM [株価推移] GROUP BY [銘柄番号],[日付(mmdd)];
で求まるのですが、直近の25件分での移動平均となると
どのようにすればよいか分かりません。

どなたか、教えていただけませんか。
よろしくお願いいたします。

A 回答 (2件)

>一年間(1月~12月)の推移傾向が知りたいのでmmddにしています。


じゃ異なる年のものは含まれていないとして進めますね

>抜けはありますが、重複はありません。
ということなので日付の順番で連番を振り
該当レコードより25以前のもののみの合計を取ります

クエリを2段に使います

1つ目のクエリで銘柄番号毎に日付順に連番を振ります

連番: DCount("*","株価推移","日付<='" & [日付] & "' and 銘柄番号='" & 銘柄番号 & "'")

このクエリから移動平均を求めるクエリを作ります
(移動平均は日付じゃなく株価ですよね)

移動平均: DSum("株価","クエリ名","連番 between '" & IIf([連番]-24<1,0,[連番]-24) & "' And '" & [連番] & "' and 銘柄番号='" & 銘柄番号 & "'")
    • good
    • 1
この回答へのお礼

まさに考えていたとおりの結果を出せました。
本当にありがとうございました。

お礼日時:2005/07/07 17:10

日付がmmddでは年をまたぐ処理が出来ないですよ


それと日付には重複や抜けはあるのでしょうか

この回答への補足

>日付がmmddでは年をまたぐ処理が出来ないですよ
一年間(1月~12月)の推移傾向が知りたいのでmmddにしています。

>それと日付には重複や抜けはあるのでしょうか
抜けはありますが、重複はありません。

他に足りない所がありましたら、また質問してください。
よろしくお願いします。

補足日時:2005/07/06 17:26
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す