テーブルからデータを取得しようとして問題が発生しました。PHP/MySQL 1つのクエリで複数のSELECT文の問題
これにはフィクスチャの結果が含まれており、最も高い勝率のプレーヤーを表示する統計ページを出力するために照会しようとしています。
次のようにフィールドがある:
- ID(各マッチのためのユニークなID)(一方、固定具13個の一致点で最大有することができるように固定具ID)
- FID
- HPID(ホームプレイヤーID)を
- hscore(家庭用プレーヤーのスコア)
- APID(離れたプレイヤーID)
- ascore(離れたプレイヤーのスコア)
プレーヤーIDはので、私は、例えばだから、両方のフィールド
の統計情報を取得する必要があり、自宅や離れたフィールドに表示することができます
id fid hpid hscore apid ascore
-----------------------------------
1 1 1 1 2 0
2 1 13 0 4 1
3 1 5 1 6 0
4 1 7 0 8 1
5 1 9 1 10 0
6 2 11 0 1 1
そして、私が持っているクエリは、これまでに取得するため正常に動作しますホームの選手たちからの情報だが、離れた選手を同時に評価することはない。
HERESに私のコード:
$sql = mysql_query("SELECT hpid, SUM(hscore) AS won, COUNT(hpid)
FROM tbl_matches
GROUP BY hpid
ORDER BY won DESC");
while ($row = mysql_fetch_array($sql)) {
echo $row[hpid]." played: ".$row['COUNT(hpid)']." won: ".$row[won]."<br />";
}
私が何をしたいのかは離れ統計ワークアウトに別の選択を使用して、自宅の統計にそれらを追加することです。
SELECT Id,SUM(Score) Score,SUM(Played) Played
from
(SELECT hpid Id,SUM(hscore) Score,COUNT(*) Played
FROM tbl_matches
GROUP BY hpid
UNION ALL
SELECT apid,SUM(ascore),COUNT(*)
FROM tbl_matches
GROUP BY apid)X
group by Id
order by Score desc
あなたはそれを持っています!あなたの助けに感謝します! –