PHP / MySQL - 如何计算出现次数

时间:2015-12-18 19:51:18

标签: php mysql

这是我的MySQL表的结构。

enter image description here

我有很多结果。他们中的许多人都有相同的Brand,例如他们中的很多人有Brand - Orrange,其中许多人有Brand - OddibossBrand - Guma

所以我的问题是如何以这样的方式显示它们:

enter image description here

我想我必须使用while loop

$r = mysql_query("SELECT * FROM `products`");

while($rowi = mysql_fetch_array($r))
        {

        $id = $rowi['id'];
        $Title = $rowi['Title'];
        $Brand = $rowi['Brand'];
        }

所以有了这个MySQL问题,我可以获取所有结果,但我不能将它们分成3个结果,显示每个人都有多少个出现。

我希望你明白我的需要。

3 个答案:

答案 0 :(得分:2)

此查询应该这样做:

SELECT Brand, COUNT(*) AS count 
FROM products 
GROUP BY Brand

它应该产生这些结果:

+----------+-------+
| Brand    | count |
+----------+-------+
| Orange   | 23    |
| Oddiboss | 342   |
| Guma     | 2     |
+----------+-------+

虽然you really shouldn't be using the MySQL extension用于访问数据库,但以下是获取这些结果的方法:

$r = mysql_query("SELECT Brand, COUNT(*) AS count FROM `products` GROUP BY Brand");   
while($row = mysql_fetch_array($r))
{
    echo $row['Brand'] . ' ' . $row['count'] . "<br />\n";
}

答案 1 :(得分:0)

您应按品牌栏分组,如下所示:

Select Brand, COUNT(*) AS count FROM products group by Brand

答案 2 :(得分:-1)

$sql = SELECT Brand, COUNT(*) AS count FROM products GROUP BY Brand
[...]
echo $row['COUNT(*)'];