這與標記爲雙人的不同,我想總結每支球隊的前5名。雙重職位取出每個結果在不同的行。爲每支球隊選擇前5名得分
我現在正在使用這個問題,但似乎SQL是隨機返回5爲例行10行和總結,而不是前5名。任何人有一些輸入給我?
選擇團隊,總和(長度)作爲totalScore 從 (SELECT T *, @num_in_group:=情況下,當@team =團隊然後@num_in_group:!= 0,否則,@num_in_group:= @ num_in_group + 1個端如num_in_group, @team:=團隊爲t FROM reg_catches噸,(選擇@team:= - 1,@num_in_group:= 0)初始化 ORDER BY團隊ASC)子 WHERE sub.num_in_group < = 4和競爭= 16和球隊= 25 GROUP BY球隊 ORDER BY totalScore DESC;
我很困擾SQL問題,我無法擺脫困境。我的結果表如下所示,我試圖總結每支球隊的前5名成績,並將輸出限制在前3名排名最高的球隊。一切都按預期工作,直到我在結果表中添加了最後一個分數。我的SQL的輸出現在是隨機團隊25.我預計是520 ..
team length competition
----------------------
26 70 16
25 70 16
25 95 16
25 98 16
25 100 16
25 100 16
25 100 16
25 122 16
輸出:
team totalScore
---- -----------
25 122
26 70
通緝輸出:
team totalScore
---- -----------
25 522
26 70
SELECT team, SUM(length) AS totalScore
FROM(
SELECT team, length
FROM table_result m
WHERE competition = 16 and (
SELECT COUNT(*)
FROM table_result mT
WHERE mT.team = m.team AND mT.length >= m.length
) <= 5) tmp
GROUP BY team
ORDER BY totalScore DESC Limit 3
任何人有對我有什麼想法?
由於未能包含PRIMARY KEY而導致此問題不必要的複雜化。 – Strawberry