4

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

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

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

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

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

4

6 回答 6

6

别名 count 部分,以便您有一个易于访问的列名:

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

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

如果没有别名,聚合列将采用生成它的聚合函数调用的名称,因此在您的情况下,它将像$row['count(*)'].

于 2013-04-10T12:59:19.787 回答
1

尝试

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

使用总计作为您的计数,例如。

echo $result['total'];
于 2013-04-10T13:02:41.190 回答
0

尝试这个,

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

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

于 2013-04-10T12:59:45.383 回答
0

如果您为 count(*) 的结果加上别名会更容易

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

然后,您可以访问它,就像您以与引用完全相同的方式$row['total']获取结果一样$row$row['genre']

于 2013-04-10T13:00:15.453 回答
0
   select genre, count(*) as genre_count from movies group by genre

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

于 2013-04-10T13:00:29.343 回答
0

尝试这个,

$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'];

}
于 2013-04-10T13:01:03.543 回答