繁体   English   中英

使用MySQL和PHP计算字段中每个值的数量

[英]Count how many of each value from a field with MySQL and PHP

我已经多次看过这个问题,但我找不到如何显示结果。 我有一个电影数据库,我希望在一个MySQL查询的顶级菜单中计算每种类型的电影,所以我的菜单会显示如下:

Total Movies (300)
Drama (50)
Comedy (75)
Thriller (30)
...and so on...

我在这个站点上发现了一些MySQL查询,但没有人指定如何处理SQL查询后的计数。 像这样的东西可能会起作用:

select genre, count(*) from movies group by genre

但是如何在之后显示每个值的计数? 非常感谢你!

别名计数部分,以便您可以轻松访问列名:

SELECT genre, count(*) AS nb_movies FROM movies GROUP BY genre

然后你可以像$row['nb_movies']一样访问它。

如果没有别名,聚合列将获取生成它的聚合函数调用的名称,因此在您的情况下,它将像$row['count(*)']一样被访问。

尝试

select genre, count(*) AS total from movies group by genre

使用总数作为例如。

echo $result['total'];

试试这个,

SELECT genre, count(*) AS total_genre_movies FROM movies GROUP BY genre

现在您可以访问$result['total_genre_movies']

如果别名计数结果(*)会更容易

select genre, 
       count(*) as total
  from movies 
 group by genre

然后,当您将结果提取到$row ,您可以将其作为$row['total']访问,其方式与引用$row['genre']完全相同

   select genre, count(*) as genre_count from movies group by genre

现在您可以访问$ result ['genre_count']

试试这个,

$result = mysql_query("select genre, count(*) as genre_count from movies group by genre");

while($row = mysql_fetch_array($result)) {

   $genre       = $row['genre'];
   $genre_count = $row['genre_count'];

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM