順位表とチーム表の 2 つのテーブルがあります。
Standings has 5 columns: id, teamid, weekid, seasonid, points
Teams has 3 columns: id, name, leagueid
チームが参加したすべての週のチームのすべての順位のすべてのポイントの合計を取得し、そのチームの ID で参加したいと考えています。
単一のクエリでこれを行う方法はわかりませんが、
SELECT sum(s.points), t.name FROM Standings s INNER JOIN Teams t ON s.teamid = t.id WHERE t.leagueid = 1 AND s.seasonid = 1 ORDER BY sum(s.points) DESC LIMIT 3
私がやろうとしていることのようなものです。ありがとう。
編集:
私が抱えている大きな問題の 1 つは、実際にはこのスキーマにアクセスすることを許可されていないことですが、これらの種類の値を持つテスト データセットでこれを使用しています。
チーム
ID | 名前 | リージッド
1 | アルファ | 1
2 | ベータ | 1
3 | ガンマ | 1
立っている
ID | チームID | 週末 | 季節 | ポイント
(アルファ版)
1 | 1 | 1 | 1 | 1
2 | 1 | 2 | 1 | 4
3 | 1 | 3 | 1 | 3
(ベータ版)
4 | 2 | 1 | 1 | 7
5 | 2 | 2 | 1 | 0
6 | 2 | 3 | 1 | 2
(ガンマス)
7 | 3 | 1 | 1 | 4
8 | 3 | 2 | 1 | 4
9 | 3 | 3 | 1 | 5
戻り値を次のようなテーブルにしたい:
名前 | ポイント
アルファ | 8
ベータ版 | 9
ガンマ | 13