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条目加在一起
  • 在上面的表格中显示它们,但每个id只显示一次,并且 minspld 列显示每个 id 的总数。

这是我目前正在使用的内容,我正在分别显示所有条目(例如,每个人显示两次)

<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 中仅显示一次,但添加所有minspld条目的总数?(例如,id 400 将有 130。id 401 将有 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

您不必为此使用循环。您可以简单地使用查询来执行此操作只需运行查询并获取两列。id 及其总数

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