select SUM(category) from film_list where title IN actors;
SQL。私は私がこだわっているこのSQLクエリ
とこだわっている、私はてSakilaデータベースに働いていると私は55と65膜の間に存在するフィルムの種類を把握しようとしています。これらの カテゴリの名前とカテゴリごとの映画の数を、映画の数でソートして返します。アイデアを投稿しますか?
select SUM(category) from film_list where title IN actors;
SQL。私は私がこだわっているこのSQLクエリ
とこだわっている、私はてSakilaデータベースに働いていると私は55と65膜の間に存在するフィルムの種類を把握しようとしています。これらの カテゴリの名前とカテゴリごとの映画の数を、映画の数でソートして返します。アイデアを投稿しますか?
。これは、サブクエリと呼ばれるこの
SELECT category, Count(*) AS FilmsCount
FROM Film_List
GROUP BY Category
HAVING Count(*) BETWEEN 55 AND 65
ORDER BY FilmsCount
てみ推測でオペレータ
SELECT category, COUNT(*) AS films_per_category
FROM film_list
ORDER BY films_per_category
HAVING COUNT(*) BETWEEN 55 AND 65
なぜダウンボトムキャスト? –
私の下院議員ではないが、それは非常に信じられないほどだ。映画のタイトルは通常数字ではないので、「BETWEEN」は機能しません。同様に、カテゴリはおそらく数値ではないので、SUMは意味をなさない - それは問題でもない。 –
それは確かに良いですが、GROUP BY句はどうなりましたか?これはほとんどのDBMSで必要ですが、MySQLにはグループ化の分野でいくつかのルールがあります。少なくとも、古典的なSQLでは、節の順序は間違っています。 –
間で使用する:
SELECT category, COUNT(*) AS films_per_category
FROM film_list
GROUP BY category
HAVING COUNT(*) BETWEEN 55 AND 65
ORDER BY films_per_category
しかし、あなたはアウトラインスキーマといくつかのサンプルデータを提供したい場合そんなに推測があるではないでしょう。確かに、私たちは55行を見たいとは思っていませんでしたが、デモの目的では、5行から6行までOKです。
私はあなたがして、グループが必要だと思うし、
select category, count(*) as num_film
from film_list
group by category
having num_film BETWEEN 55 AND 65
order by num_fim
を試してみた:
select sum(category)
from film_list
where title IN (SELECT title FROM actors);
あなたの推論を議論してください - あなたはなぜカテゴリーを集計しているのですか?アクターテーブルにタイトル列が含まれているのはなぜですか?カテゴリー名は55-65行などです。 –
情報が欠落していますが、サブクエリを書く方法の例を挙げてください。私には大変なことはしないでください。 – SnakeFoot
あなたは今のところそれそれ目的地からね助けるのは役に立たないようです。 MySQLに関する良い本やチュートリアルを見てから、私たちに連絡してください。 – Strawberry
概要スキーマ(多かれ少なかれ最小限のもの)といくつかのサンプルデータ、およびそのデータから期待される出力を提供してください。明らかに、ここでは55行以上の行が多すぎます。 「5と6の間」またはそれに類似したより小さな範囲を使用することを決めることができます。サンプルデータの数行を簡単に提供できるようになります。おそらく2〜3列のデータが必要になると思います(1つはカテゴリ、もう1つは適切かもしれません)。 –
[Sakilaサンプルデータベース](https://dev.mysql.com/doc/sakila/en/)です。これは[データベースの例]の[MySQLのウェブサイト](https://dev.mysql.com/doc/index-other.html)にあります。 – Revenant