私は特別なクエリをどのように構造化するかについて困惑していました。私が知ることができる最良のものは、何らかの複雑なサブクエリシステムでなければならないということです。MySQLは3つのテーブルと平均を結合する
私は完全にはわかりませんが、
私は3つのテーブルteams
,matches
およびscored
を持っています。
teams
テーブルには、チーム番号と対応するチーム名のリストが含まれています。
matches
テーブルには、マッチ結果(チームごとに1つの行につき1つの行)が記録され、対応するチーム番号が含まれています。
scored
テーブルには、チームが行った各得点に関する情報と、対応する一致結果IDのリストが含まれています。 teamnumber考える
┌────────────┐
| TEAMS |
├────────────┤
│ teamnumber |
│ teamname |
└────────────┘
┌───────────────┐
| MATCHES |
├───────────────┤
│ teamnumber |
│ matchresultid |
└───────────────┘
┌───────────────┐
| SCORED |
├───────────────┤
│ matchscoredid |
│ matchresultid |
└───────────────┘
、私はmatchresultid
あたりscored
で平均行数を取得する必要があります。どうすればいい?試合ごとに各チームの得点数を返す必要があります
SELECT s.matchresultid, count(*)
FROM scored s
JOIN matches m
ON m.matchresultid = s.matchresultid
WHERE m.teamnumber = your_team_number
GROUP BY s.matchresultid
は、より多くの私は、私はなってこのより混乱して見て...平均ためのIFNULL()とLEFTが参加するに変更、および終了です。 matchresultidあたりの平均行数はどういう意味ですか? matchresultidごとに得点する行は1つだけです。 1つの数字の平均はどうですか? –