這裏是我的問題:排行學生和平均
如果一個學生得到的分數爲49及以下的任何問題,他將不會被列入排名。
那些學生誰將會在所有科目取得上述49依照設爲排序他們的平均
而且如果學生獲得平等的平均水平,他們的隊伍應該是平等的。
這裏是我的示例:
Table1
Student_ID Name Math English Science Average
1 Apple 64 49 70 61.00
2 Boy 80 79 65 74.67
3 Cat 51 78 66 65.00
4 Dove 50 76 64 63.33
5 Eden 81 88 72 80.33
6 Fox 80 79 65 74.67
7 Golf 32 88 69 63.00
Output
Student_ID Name Math English Science Average RANK
1 Apple 64 49 70 61.00
2 Boy 80 79 65 74.67 2
3 Cat 51 78 66 65.00 3
4 Dove 50 76 64 63.33 4
5 Eden 81 88 72 80.33 1
6 Fox 80 79 65 74.67 2
7 Golf 32 88 69 63.00
這裏是我的查詢:
SELECT
tmain.Student_ID,
tmain.Name,
tmain.Math,
tmain.English,
tmain.Science,
tmain.Average,
IIf(sub.RANK=0, Null, sub.RANK) AS RANK
FROM
Table1 AS tmain
LEFT JOIN
(
SELECT
t1.Student_ID,
t1.Average,
(
SELECT Count(*)
FROM Table1 AS t2
WHERE
t2.Math>49
AND t2.English>49
AND t2.Science>49
AND t2.Average>=t1.Average
) AS RANK
FROM Table1 AS t1
WHERE
t1.Math>49
AND t1.English>49
AND t1.Science>49
) AS sub
ON tmain.Student_ID = sub.Student_ID;
輸出基於查詢:
Output
Student_ID Name Math English Science Average RANK
1 Apple 64 49 70 61.00
2 Boy 80 79 65 74.67 3
3 Cat 51 78 66 65.00 4
4 Dove 50 76 64 63.33 5
5 Eden 81 88 72 80.33 1
6 Fox 80 79 65 74.67 3
7 Golf 32 88 69 63.00
有人能幫助我如何解決這個問題,輸出跳過第二級
注:Rank
值不存儲在表中。
你應該在你解決這裏張貼問題的一種嘗試。你能寫一個查詢來返回任何數據嗎? – dcaswell
Sir @ user814064對不起,我的問題沒有包括我的查詢。我編輯了我的文章,幷包含了我的查詢和輸出。 – nine05
你的#3的每個班都有相同的成績。你想如何解決這個問題?你如何確定誰是#2和誰是#3? –