0

すべてのプレイヤーの統計を表示するページを作成しようとしています。合計ゴール、アシスト、イエロー カード、レッド カードなどの合計。

詳細は、以下に表示される matchdetails に保存されます。

+----------------+-------------+------+-----+---------+-------+
| Field          | Type        | Null | Key | Default | Extra |
+----------------+-------------+------+-----+---------+-------+
| player_id      | int(4)      | NO   |     | NULL    |       |
| match_id       | int(4)      | NO   |     | NULL    |       |
| season         | varchar(45) | NO   |     | NULL    |       |
| player_present | int(4)      | NO   |     | NULL    |       |
| player_away    | int(4)      | NO   |     | NULL    |       |
| goals          | int(4)      | NO   |     | NULL    |       |
| assists        | int(4)      | NO   |     | NULL    |       |
| yellowcards    | int(4)      | NO   |     | NULL    |       |
| redcards       | int(4)      | NO   |     | NULL    |       |
+----------------+-------------+------+-----+---------+-------+

+-----------+----------+-----------+----------------+-------------+-------+---------+-------------+----------+
| player_id | match_id | season    | player_present | player_away | goals | assists | yellowcards | redcards |
+-----------+----------+-----------+----------------+-------------+-------+---------+-------------+----------+
| 3         | 1        | 2011-2012 | 1              | 0           | 0     | 0       | 0           | 0        |
| 4         | 2        | 2011-2012 | 1              | 0           | 0     | 2       | 1           | 0        |
| 4         | 1        | 2011-2012 | 1              | 0           | 0     | 0       | 0           | 0        |
| 1         | 2        | 2011-2012 | 1              | 0           | 4     | 0       | 0           | 0        |
| 1         | 1        | 2011-2012 | 0              | 1           | 0     | 0       | 0           | 0        |
| 2         | 1        | 2011-2012 | 1              | 0           | 2     | 0       | 1           | 0        |
| 2         | 2        | 2011-2012 | 1              | 0           | 1     | 2       | 0           | 1        |
+-----------+----------+-----------+----------------+-------------+-------+---------+-------------+----------+

私が達成したいことは、彼の合計試合数 (player_present) 、合計試合数 (player_away)、合計ゴール数、合計アシスト数、合計イエロー カード数、合計レッド カード数が表示されているすべてのプレーヤーの行を確認することです。

私が使用している次のコードは、すでに得点の合計を表示していますが、すべてのプレーヤーが得点した得点の合計です。すべてのプレーヤーのすべての詳細をまとめて表示したいと考えています。

$sql = "SELECT SUM(goals) AS goals, 
player_id
FROM matchdetails
ORDER BY player_id ASC
"; 
$results = $db->query($sql); 

echo "<table border='0' id='stats' cellpadding='0' cellspacing ='0'>
foreach ($results as $row) {    
    echo "<td class=''>" , $row['player_id'] , ' ' , "</td>"; 
    echo "<td class=''>" , $row['goals'] , "</td>";
}
    echo "</tr>";
echo "</table>";
4

2 に答える 2

1

GROUP BYを使用する場合は、使用する必要がありますSUM

SELECT SUM(goals) AS goals, player_id
FROM matchdetails
GROUP BY player_id
ORDER BY player_id ASC

また、コピー/貼り付けエラーかどうかわからない場合は、コードに終了引用符がありません:

$sql = "SELECT SUM(goals) AS goals, 
player_id
FROM matchdetails
ORDER BY player_id ASC
"; 
$results = $db->query($sql); 

echo "<table border='0' id='stats' cellpadding='0' cellspacing ='0'>";
foreach ($results as $row) {    
    echo "<td class=''>" , $row['player_id'] , ' ' , "</td>"; 
    echo "<td class=''>" , $row['goals'] , "</td>";
}
    echo "</tr>";
echo "</table>";
于 2012-05-12T12:39:21.370 に答える
1

GROUP BY句を追加します。

SELECT SUM(goals) AS goals, player_id
FROM matchdetails
GROUP BY player_id
ORDER BY player_id ASC
于 2012-05-12T12:33:31.940 に答える