0

私は単純な映画データベースを持っていますが、各カテゴリに属する​​映画の数を COUNT で注文できるかどうか疑問に思っています。クエリを実行してみました

SELECT COUNT(category), movie_name FROM movies group by category私は4行を受け取っています。つまり、それらはすべてカウントされています。4 コメディ

同じクエリを入れて、movie_name でグループ化すると、1 コメディ 2 ホラー 1 ウェスタンのように (ほぼ) 正しい順序になります。

でも、コメディー1本、ウェスタン2本、ホラー2本というように、各カテゴリーの映画の数で並べたいです。

誰でも私を助けることができますか?ありがとう、イワン。

申し訳ありませんが、間違った質問をしたため、有効なクエリを受け取っていません。映画の名前が「インセプション、のこぎり、スターウォーズ」で、その映画のすべての値が 1 (true) であるとします。たとえば、4 つのレコードがあることを意味します: Saw 1、Star Wars 1、Star Wars 1 とインセプション 1. SELECT COUNT(like), movie_name FROM movies WHERE like=1 group by like というクエリを次に示します。私が言ったように、それぞれのような値は 1 です (これは真です)。ここで、いいね数で注文する必要があります。

4

1 に答える 1

1

oder by次のように位置を使用して、最初の列(カウントを返す)で使用してみてください。

  SELECT COUNT(movie_name), category FROM movies group by category order by 1 asc;

次のように、注文クエリで列エイリアスを使用することもできます。

 SELECT COUNT(movie_name) as total_movies, category
 FROM movies 
 group by category 
 order by total_movies asc;

編集:入力に基づいて、次のようにグループ化する必要がありmovie_nameます

  SELECT COUNT(like), movie_name 
  FROM movies 
  WHERE like=1 
  GROUP BY movie_name 
  ORDER BY 1 DESC;
于 2013-05-28T15:50:51.170 に答える