0

各列の最後に合計を取得するために列を追加しようとしています。このトピックを検索し、その内容を実行しようとしましたが、エラーが発生しました

SQL 構文にエラーがあります。「SELECT SUM(Sea) FROM PlayerStats;」の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。FROM SeasonStats WHERE SeasonStats.PlayerID=' 2 行目

私はこれでかなり新しく、それを機能させる方法を理解できないようです。どんな助けでも大歓迎です。

$oPlayerStats = mysql_query("
SELECT SeasonStats.Sea, SeasonStats.Team, SeasonStats.GP, SeasonStats.Goals,     SeasonStats.Assists, SeasonStats.Points, SeasonStats.PlusMinus, SeasonStats.Pim,   SeasonStats.PP, SeasonStats.SH, SeasonStats.GW, SeasonStats.GT, SeasonStats.S
SELECT SUM(Sea) FROM PlayerStats;
FROM SeasonStats
WHERE SeasonStats.PlayerID=$iPlayerID
ORDER BY SeasonStats.Sea;
") or die(mysql_error());

echo "<br><br><table border=1 cellpadding=1>";

echo "<tr>";
echo "<td>Season</td> ";
echo "<td>Team</td> ";
echo "<td>GP</td> ";
echo "<td>G</td> ";
echo "<td>A</td> ";
echo "<td>P</td> ";
echo "<td>PIM</td> ";
echo "<td>+/-</td> ";
echo "<td>PPG</td> ";
echo "<td>SHG</td> ";
echo "<td>GWG</td> ";
echo "<td>GTG</td> ";
echo "<td>Shots</td> ";

while($row = mysql_fetch_array($oPlayerStats))
{
echo "<tr>";
echo "<td>".$row['Sea']."</td> ";
echo "<td>".$row['Team']."</td> ";
echo "<td>".$row['GP']."</td> ";
echo "<td>".$row['Goals']."</td> ";
echo "<td>".$row['Assists']."</td> ";
echo "<td>".$row['Points']."</td> ";
echo "<td>".$row['Pim']."</td> ";
echo "<td>".$row['PlusMinus']."</td> ";
echo "<td>".$row['PP']."</td> ";
echo "<td>".$row['SH']."</td> ";
echo "<td>".$row['GW']."</td> ";
echo "<td>".$row['GT']."</td> ";
echo "<td>".$row['S']."</td> ";
$result = mysql_query('SELECT SUM(Sea) AS value_sum FROM codes'); 
    $row = mysql_fetch_assoc($result); 
    $sum = $row['value_sum'];
4

2 に答える 2

0

DB スキーマがどのようなものかはわかりませんが、元のクエリを次のように変更することをお勧めします。

SELECT SeasonStats.Sea, SeasonStats.Team, SeasonStats.GP, SeasonStats.Goals,
SeasonStats.Assists, SeasonStats.Points, SeasonStats.PlusMinus, SeasonStats.Pim,
SeasonStats.PP, SeasonStats.SH, SeasonStats.GW, SeasonStats.GT, SeasonStats.S,
SUM(SeasonStats.Sea) as total    
FROM PlayerStats
   INNER JOIN SeasonStats ON PlayerStats.PlayerID = SeasonStats.PlayerID
WHERE SeasonStats.PlayerID = $iPlayerID
ORDER BY SeasonStats.Sea;

GROUP BYCLAUSEを使用して、SQL の一部の列を合計することもできます。

于 2013-09-10T00:27:03.450 に答える
0

行フェッチ クエリにサマリー クエリが混在しています。その行を削除する必要があります-最初のクエリは次のとおりです。

SELECT SeasonStats.Sea, SeasonStats.Team, SeasonStats.GP, SeasonStats.Goals,
    SeasonStats.Assists, SeasonStats.Points, SeasonStats.PlusMinus,
    SeasonStats.Pim,   SeasonStats.PP, SeasonStats.SH, SeasonStats.GW,
    SeasonStats.GT, SeasonStats.S
FROM SeasonStats
WHERE SeasonStats.PlayerID=$iPlayerID
ORDER BY SeasonStats.Sea;
于 2013-09-10T00:30:12.737 に答える