2016-10-25 5 views
0

Dies ist meine Tabelle.SQL Query Berechnung Spalte pro Zustand Durchschnitt

Fund Industry State  
    1  2  NSW    
    1  2  ACT   
    1  2  VIC   
    1  2  NSW   
    1  2  ACT   
    1  2  VIC   
    1  2  NSW   
    1  2  ACT   
    1  2  VIC  

Ich habe drei Berechnungen durchzuführen. Im Folgenden finden Sie die berechneten Spalten

Fund Industry State Column1 Column2 Column3 
1  2  NSW  5  10   
1  2  ACT  5  10  
1  2  VIC  5  10  
1  2  NSW  5  10  
1  2  ACT  5  10  
1  2  VIC  5  10  
1  2  NSW  5  10  
1  2  ACT  5  10  
1  2  VIC  5  10   

i column1 as Fund*5 und Column2 as Industry*5 berechnet haben. Die Column3 is the average of Column1 per state .i, e

NSW is (5+5+5)/3 
ACT is (5+5+5)/3 
VIC is (5+5+5)/3 

Der Final Table wird

Fund Industry State Column1 Column2 Column3 
1  2  NSW  5  10  5 
1  2  ACT  5  10  5 
1  2  VIC  5  10  5 
1  2  NSW  5  10  5 
1  2  ACT  5  10  5 
1  2  VIC  5  10  5 
1  2  NSW  5  10  5 
1  2  ACT  5  10  5 
1  2  VIC  5  10  5 

sein Ich bin in der Lage column1 und column2 zu berechnen, aber nicht sicher, wie column3 zu berechnen.

Select distinct Fund, Industry, State, Fund * 5 as Column1, Industry * 5 as Column2 
from fundDetails 

Jede Hilfe wäre willkommen. Vielen Dank im Voraus

Antwort

2

Sie AVG innerhalb einer Fensterfunktion verwenden können:

SELECT Fund, 
     Industry, 
     State, 
     Fund * 5 AS Column1, 
     Industry * 5 AS Column2, 
     AVG(Fund*5) OVER (PARTITION BY State) AS Column3 
FROM fundDetails 
+0

schön und sauber. – Searching

Verwandte Themen