0

私のデータ(簡略化)は次のようになります。

------------------------
| key |  id  | minspld |
------------------------
| 1   | 400  |   90    |
| 2   | 400  |   40    |
| 3   | 401  |   38    |
| 4   | 401  |   90    |
| 5   | 402  |   90    |
| 6   | 402  |   89    |
| 7   | 403  |   77    |
| 8   | 403  |   15    |
| 9   | 404  |   90    |
-----------------------

私がやろうとしている…。

  • それぞれについて、すべてのエントリを一緒idに追加しますminspld
  • 上記のようなテーブルに表示しますが、それぞれがid1回だけ表示され、minspld列に各IDごとの合計が表示されます。

これが私が現在使用しているものであり、すべてのエントリを個別に表示しています(たとえば、各人が2回表示されます)

<table><thead><tr><th>ID</th><th>Mins Played</th></tr></thead>
<tbody>

<?php
$queryget = mysql_query("SELECT * FROM mlsstats ORDER BY id ASC") or die(mysql_error());

while ($row = mysql_fetch_assoc($queryget))
{
    $id = $row['id'];
    $minspld = $row['minspld'];

    echo "<tr>";
    echo "<td>".$id."</td>";
    echo "<td>".$minspld."</td>";
    echo "</tr>";
}
?>

</tbody></table>

これをどのように記述して、各IDをHTMLに1回だけ表示し、すべてのminspldエントリの合計を追加するのですか?(たとえば、id 400は130になります。id401は128になります。など)

これが明確でない場合は、私に知らせてください..そして助けてくれてありがとう。

4

2 に答える 2

2

クエリを次のように変更してみてください。

SELECT id, SUM(minspld) AS minspld FROM mlsstats GROUP BY id ORDER BY id ASC
于 2013-03-16T02:01:04.070 に答える
1

これにはループを使用する必要はありません。これはクエリで簡単に実行できます。クエリを実行して 2 つの列を取得するだけです。id とその合計

SELECT
    m.id,
    SUM(minspld) AS TCount
FROM mytable AS m
GROUP BY m.id
于 2013-03-16T02:04:36.090 に答える