2016-12-17 6 views
1

私はファンタジーサッカーリーグのデータをMySQLテーブルに持っています。私は、PHPページのデータを照会したい。ファンタジーフットボール:チームの平均ポイントとリーグの平均を比較しますか?

チームの得点を計算するクエリを作成して、その特定の年に得点したリーグ平均点と比較するにはどうすればよいですか?私はワイルドキャッツ2016年の平均(48.0)と全チームの平均の違いを見つけるだろうどのように

year | team | Week | Points 
2016 | Wildcats | 1 | 44 
2016 | Wildcats | 2 | 52 
2015 | Hawks | 1 | 36 
2015 | Hawks | 2 | 58 
2016 | Hawks | 1 | 43 

ゲームテーブル:

マイ(簡体字)のデータテーブルは次のようになります2016年(46.3)に?

これらの2つの数値は、このクエリを使用して計算できますが、減算の方法はわかりません。

SELECT g1.year, g1.team, AVG(g1.points) as ppg, 
    (SELECT AVG(points) 
    FROM game AS g2 
    WHERE g2.year=g1.year) AS seasAvg 
FROM game AS g1 
GROUP BY g1.team, g1.year 
ORDER BY ppg 
+0

これはわかりますか。あなたはとても近いようです。 – Strawberry

+0

はい@Strawberry純粋な努力が払われているサンプルデータもあります。これらのタグの希少性 – e4c5

答えて

1

外部クエリですべてをラップし、その差を短く甘く保ちながら計算できます。

SELECT a.*, ppg - seasAvg AS diff FROM (
    SELECT g1.year, g1.team, AVG(g1.points) as ppg, 
     (SELECT AVG(points) 
     FROM game AS g2 
     WHERE g2.year=g1.year) AS seasAvg 
    FROM game AS g1 
    GROUP BY g1.team, g1.year 
    ORDER BY ppg 
) AS a