将mysql条目一起添加并在表中显示它们

时间:2013-03-16 01:57:21

标签: php mysql select

我的数据(简化)看起来像......

------------------------
| 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等。)

如果不清楚,请告诉我..并感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

请尝试将您的查询更改为:

SELECT id, SUM(minspld) AS minspld FROM mlsstats GROUP BY id ORDER BY id ASC

答案 1 :(得分:1)

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

SELECT
    m.id,
    SUM(minspld) AS TCount
FROM mytable AS m
GROUP BY m.id