0

次のコードでは、合計パーセンテージではなく、「U」ではない各値のパーセンテージを取得しています。

合計パーセンテージを取得するためにコードを変更するにはどうすればよいですか?

SELECT grade, (COUNT(grade)* 100 / (SELECT COUNT(*) FROM studied)) AS Score
FROM studied
WHERE grade !='U'
GROUP BY grade
4

1 に答える 1

0

次のコードは、値のリストを返します:gradescore

成績には、Uを除くすべての利用可能な成績が表示されます。スコア値には、対応する成績( Uを含む)の合計パーセンテージが表示されます。Uを除く成績のパーセンテージとしてスコアを取得したい場合は、次のSQLが機能するはずです。

SELECT grade, (COUNT(grade) * 100 / (SELECT COUNT(*) FROM studied WHERE grade !='U')) AS Score
FROM studied
WHERE grade !='U'
GROUP BY grade

以下のスクリーンショットは、テストデータとクエリ結果を示しています

ここに画像の説明を入力してください

編集

あなたの最後のコメントから、このSQLが仕事をするべきであるように見えます:

SELECT (COUNT(grade) * 100 / (SELECT COUNT(*) FROM student)) AS Score
FROM Student
WHERE grade !='U'

Uを除くすべての成績の合計パーセンテージが返されます。スクリーンショットのデータセットを使用すると、92(92%)になります。

于 2012-12-21T11:03:00.850 に答える