4

その質問を何度か見ましたが、結果を表示する方法がわかりません。映画データベースがあり、トップ メニューの各ジャンルの映画の数を 1 つの 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 に答える