我已多次看到这个问题,但我无法找到如何显示结果。我有一个电影数据库,我想在单个MySQL查询的顶级菜单中计算每种类型的电影,所以我的菜单会显示如下:
Total Movies (300)
Drama (50)
Comedy (75)
Thriller (30)
...and so on...
我在这个网站上发现了一些MySQL查询,但没有人指定如何处理SQL查询后的计数。这样的事可能会奏效:
select genre, count(*) from movies group by genre
但之后如何显示每个值的计数? 非常感谢你!
答案 0 :(得分:6)
对计数部分进行别名,以便您可以轻松访问列名:
SELECT genre, count(*) AS nb_movies FROM movies GROUP BY genre
然后您可以像$row['nb_movies']
一样访问它。
如果没有别名,聚合列将获取生成它的聚合函数调用的名称,因此在您的情况下,它将像$row['count(*)']
一样被访问。
答案 1 :(得分:1)
尝试
select genre, count(*) AS total from movies group by genre
使用总数作为例如
的计数echo $result['total'];
答案 2 :(得分:0)
试试这个,
SELECT genre, count(*) AS total_genre_movies FROM movies GROUP BY genre
现在您可以访问$result['total_genre_movies']
答案 3 :(得分:0)
如果您对count(*)
的结果进行别名,则会更容易select genre,
count(*) as total
from movies
group by genre
然后,当您将结果提取到$row['total']
时,您可以$row
访问它,其方式与引用$row['genre']
完全相同
答案 4 :(得分:0)
select genre, count(*) as genre_count from movies group by genre
现在您可以访问$ result ['genre_count']
答案 5 :(得分: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'];
}