0

私は、PHP と MySQL を使用して時間ベースのクイズ プロジェクトに取り組んでおり、結果を以下の表のように保存しています。

表: スコア

sid |Question_ID|answer |is_correct|User_ID|score|score_calculated|time_taken
1   |10         |Manager|Y         |  1    |200  |  0             |3.2
2   |10         |Emp    |N         |  2    |200  |  0             |2.4
3   |10         |Manager|Y         |  3    |200  |  0             |6.5
4   |10         |Other  |N         |  4    |200  |  0             |8.3
5   |11         |Yellow |N         |  1    |300  |  0             |2.3
5   |11         |green  |N         |  2    |300  |  0             |5.8
6   |11         |Red    |Y         |  3    |300  |  0             |6.4
7   |11         |Red    |Y         |  4    |300  |  0             |9.1

スコア列には、各質問のマークが含まれています

以下に基づくスコア計算:

  • 正解使用最小時間 = 100%
  • 2 番目の最小時間を使用した正解 = 75%
  • 正解使用 3 番目の最小時間 = 50%
  • その他の正解 = 25%
  • その他の不正解 = 0

上記の計算値は、** 'score_calculated' ** フィールドで更新する必要があります。スコアリング プロセスを解決するためのクエリまたは方法を誰か提案してもらえますか?

4

2 に答える 2

1

問題を解決する最善の方法は、MysqlTrigger です。回答を送信するたびに (挿入後)、トリガーを呼び出すことができます。

于 2013-07-05T07:47:03.660 に答える
0

Rankingによってレコードによって問題が解決されましたtime_taken。クエリで後でこれを編集します...

于 2013-07-08T07:54:37.567 に答える