ここから本文です

MySQLのクエリに関しての質問です。 以下のようなテスト点数テーブルのデータから...

aso********さん

2019/12/710:02:38

MySQLのクエリに関しての質問です。
以下のようなテスト点数テーブルのデータから平均点を出したいと考えています。

名前 | 教科 | 点数
===========
鈴木 | 数学 | 100
鈴木 | 英語 | 80
鈴木 | 国語 | 60
田中 | 数学 | 80
田中 | 英語 | 60
田中 | 国語 | 40
山田 | 英語 | 80
山田 | 国語 | 80

select AVG(点数) as 平均点 from 点数テーブル group by 名前

上記を実行すると山田は、80+80/2 = 80が平均点となります。

山田は数学を欠席したので、80+80/3として計算したいのですが、SQLではどのように実現すればよいでしょうか。
教科数は3つで固定です。

閲覧数:
9
回答数:
2
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

par********さん

2019/12/712:48:58

教科数が3で固定でしたら、group by 名前 で、AVGでなくSUMを3で割ればいいのではないでしょうか。

質問した人からのコメント

2019/12/7 16:25:42

ありがとうございます。その方法で行けました

ベストアンサー以外の回答

1〜1件/1件中

プロフィール画像

カテゴリマスター

pri********さん

2019/12/713:32:40

科目一覧みたいなテーブルとぶつけるのですが、科目マスターって無いのですか?

無ければ仕方ないので、そのテーブルから科目だけ抜き出した一覧とぶつけるとか。

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる