这是我的MySQL表的结构。
我有很多结果。他们中的许多人都有相同的Brand
,例如他们中的很多人有Brand
- Orrange
,其中许多人有Brand
- Oddiboss
和Brand
- Guma
。
所以我的问题是如何以这样的方式显示它们:
我想我必须使用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个结果,显示每个人都有多少个出现。
我希望你明白我的需要。
答案 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(*)'];