• 締切済み

クエリで最新のデータ数個の平均を出したいのですが。

いつもお世話になっております。 また、問題にぶつかってしまい困ってます。 今回は、クエリで最新のレコードの15コの平均値を出したいのですが、 今できている状態は、レコード全体の平均値が出ています。 このやり方を教えてください。 クエリの内容は以下のとおりです 個人ID deta グループ化       式1:Avg((([入力文字数]))) 演算 式2:Avg((([ミス入力文字数]))) 演算 式3:Avg((([正誤率]))) 演算 式4:Avg((([スコア]))) 演算 式5:Switch([式4]>=277,"Good !",[式4]>=260,"S",[式4]>=243,"A+",[式4]>=226,"A",[式4]>=209,"A-",[式4]>=192,"B+",[式4]>=175,"B",[式4]>=158,"B-",[式4]>=141,"C+",[式4]>=124,"C",[式4]>=107,"C-",[式4]>=90,"D+",[式4]>=73,"D",[式4]<73,Switch([式4]>=56,"D-",[式4]>=39,"E+",[式4]>=22,"E",[式4]<21,"E-")) 演算

みんなの回答

  • kosamon
  • ベストアンサー率47% (11/23)
回答No.2

まぁ、やり方は様々だとは思いますが、そのひとつとしてぱっと思いついた方法を・・・。 まず、最新のデータ15件を抽出するクエリを作成しましょう。 何を以ってして最新から15件とするかは連番を振れば良いと思います。 DetaIDは一意のデータであるという前提ですが・・・。 DetaIDを降順に並び替えてそのフィールドを基に連番を作成します。 抽出条件に<=15とすればお望みの結果を得ることができますので、その クエリを基に集計をかければ良いと思います。 なお連番に関しては下記のURLを参照していただくと過去ログが山ほどありますので、詳細に関しては割愛させて頂きます。

参考URL:
http://www.accessclub.jp/
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

>最新のレコードの15コの平均値 「最新」はどの情報(データ)で判断できるのですか? ーー 式が随分複雑で理解できないのですが、また過去の質問の流れは判っていませんが、SQL文ではどうなるかを勉強するか、質問したほうが良いのではないですか。

hntpw
質問者

補足

これだけじゃ足りなかったんですね スミマセン テーブルはDetaです Detaのテーブルにみんながフォームで入力したものが 増えていくようになってます。 Detaテーブルは DetaID 個人ID 入力日 スコア レベル 入力時間 入力文字数 ミス入力文字数 WPM EPM 正誤率 があります。 DetaIDもしくは入力日の新しいレコードから15コの平均を出したと考えています。 これで大丈夫ですかね?

関連するQ&A