2017-07-14 5 views
0

Ich brauche die Summe von zwei Spalten in einer Unterabfrage zu unterteilen, von einem dritten Feld wie folgt gruppiert:Summe eine gruppierte Unterabfrage

Team | Score  | MaxScorePossible 
-------------------------------------------- 
A  |  10  |  15 
A  |  12  |  20 
B  |  5  |  15 
B  |  7  |  20 

Mein Code ist so etwas wie dieses:

SELECT (sumScore/sumMaxScore) as Percentage 
FROM 
(SELECT 
    sum(Score) as sumScore 
    FROM tableScore 
    GROUP BY Team) tbl1, 
(SELECT 
    sum(MaxScorePossible) as sumMaxScore 
    FROM tableScore 
    GROUP BY Team) tbl2, 
GROUP By Team 

Die Ausgabe Ich hoffe auf etwas wie: A => 0.62, B ​​=> 0.34

Das Problem ist eindeutig, dass ich sowohl die Unterabfrage und die Elternabfrage gruppieren, aber ich weiß nicht, wie man eine gruppiert und veranlaßt den anderen, ähnlich zu gruppieren.

Antwort

1

Sie benötigen keine Unterabfragen.

SELECT Team, SUM(Score)/SUM(MaxScorePossible) AS Percentage 
FROM tableScore 
GROUP BY Team 

Wenn Sie Unterabfragen verwenden möchten, müssen Sie ihnen beitreten.

SELECT tbl1.Team, (sumScore/sumMaxScore) as Percentage 
FROM 
    (SELECT 
     Team, sum(Score) as sumScore 
     FROM tableScore 
     GROUP BY Team) tbl1 
JOIN 
    (SELECT 
     Team, sum(MaxScorePossible) as sumMaxScore 
     FROM tableScore 
     GROUP BY Team) tbl2 
ON tbl1.Team = tbl2.Team 
+0

danke! Sehr geschätzt! – DrBorrow