php:count字符串出现在mySql数组中的次数

时间:2011-07-03 17:52:29

标签: php mysql sql aggregate-functions

*编辑* 我问这个问题是一个php问题,没有mySql的标签(已被另一个SO成员添加 - >对我来说不是什么大问题,但只是说)。我很抱歉任何混淆包含?无关?数组来自mySql查询的详细信息!

我希望保持来自SELECT *的查询数据循环使用数组中的PHP 。我想,为了保持这段代码的简单,PHP可以计算字符串在数组中特定位置出现的次数。 * / edit *

我想知道字符串在mySql查询结果的特定列中出现的次数。

例如,假设我有一张桌子'汽车'他们是一个专栏'在那张桌子里。列'类型'具有诸如“sedan',' van',' suv'等

如果我从表中查询所有内容:

$query = "SELECT *
            FROM automobiles";

然后将查询的值插入数组:

$the_array = mysql_fetch_array($query);

然后尝试量化字符串出现的次数:

$count = array_count_values($the_array);
print_r($count);

这不仅不起作用,而且数据也不准确,因为这些数据将基于整个表格,而不是基于汽车的类型'单独的列。

3 个答案:

答案 0 :(得分:5)

$query = "SELECT `type`, COUNT(*) `count` FROM `automobiles` GROUP BY `type`";

答案 1 :(得分:1)

您可以使用简单的SQL聚合执行此操作:

SELECT type, COUNT(*) FROM automobiles GROUP BY type

答案 2 :(得分:0)

或者你可以去

$query = ("SELECT * FROM automobiles WHERE type='TYPE'");
$total_count = mysql_num_rows($query);
echo $total_count;