質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

解決済

1回答

747閲覧

SQL Sever 平均点の求め方を教えてください。

Beer_Rabbit

総合スコア70

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

0クリップ

投稿2021/12/23 13:52

編集2021/12/24 02:53

SQL Severで開発をしております。
下記の仕様でクエリ作成したいのですが、
ご教授くださいませ。何卒宜しくお願い致します。

テーブル:試験T
カラム:学生NO、試験日、試験名、点数、出欠

同じ試験名を2回以上受けている場合の平均点の計算方法について

試験を欠席している場合は表示は「欠席」とし、
平均点は次の試験の80%の得点で計算する。

最終試験を欠席した場合は表示は「欠席」とし、
平均点は0点として計算する。


--パターン1

学生NO|試験日|試験名|点数|出欠
0001 |4/30 |試験A |90 |出
0001 |5/30 |試験A |0 |欠
0001 |6/30 |試験A |100 |出

平均点は(90+(100*0.8)+100)/3=90.0

---パターン2

学生NO|試験日|試験名|点数|出欠
0001 |4/30 |試験A |90 |出
0001 |5/30 |試験A |100 |出
0001 |6/30 |試験A |0 |欠

平均点は(90+100+0)/3=63.3

---パターン3

学生NO|試験日|試験名|点数|出欠
0001 |4/30 |試験A |90 |出
0001 |5/30 |試験A |0 |欠
0001 |6/30 |試験A |0 |欠
0001 |7/30 |試験A |100 |出

平均点は[90+{(100*0.8)0.8}+(1000.8)+100)]/4=83.5

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

neko_the_shadow

2021/12/24 01:03

パターン3の最終行の出欠は欠であっていますか?
sousuke

2021/12/24 01:17

ロジックだけの話になりますがパターン2において5/30日の100点に80%がかからないのはなぜですか? 個人の感想ですが全体的にロジックの理屈がわからないです。 それとまず平均点とは言えないと思うので勝手に評価と呼ぶことにします。 見た目の感想として「テストの点数が同じなのに評価が30点弱違う」というのは 特に平均という言葉で説明して納得できるものではないです。 6/30の試験が難しくて多めに計算されるのかなと脳内補完しようとしてもパターン3で 同等に扱ってしまうのでそれも難しいです。パターン3で7/30日の試験データがない状態だと (90+(100*0.8)+0)/3=56点くらいなのに7/30日の試験データができた瞬間に 83.5点になるのはものすごい違和感があります。
Beer_Rabbit

2021/12/24 02:54

質問へのコメントくださり本当ありがとうございます。 先ほど、お客様のヒアリングした社内のものと打ち合わせをした結果、 sousukeさんの仰る通り、パターンとしての計算式に理解が難しい点があるとなりました。 ちなみにご指摘どおり、パターン3の4回目は「出」でした。 修正いたしました。 学校様独自の計算式かもしれませんが、 出席して80点より低い点数を取った人の方が評価が低くなってしまうことも問題かもしれません。 ヒアリングのミスがあると思われます。 担当者との再ヒアリングより対応を検討いたします。
guest

回答1

0

自己解決

計算がパターン化されてないため、
計算方法について再検討が必要となりましたので、一旦解決済みとさせていただきます。

投稿2021/12/24 02:55

Beer_Rabbit

総合スコア70

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問