mysqlの - 別のクエリ内に埋め込むカウントクエリ
-
21-08-2019 - |
質問
はpostgresで私はあなたがこのような何かを行うことができますかなり確信している。
SELECT
authors.stage_name,
count(select id from books where books.author_id = authors.id)
FROM
authors,
books;
基本的に、この例では、私は同じクエリで....作家とどのように多くの本それぞれが書かれたのリストを返したいと思います。
これは可能ですか?私は、このアプローチはかなりナイーブである疑いがある..
ありがとう:)
解決
さて、一つには、それは関係なく、その著者がその本を書いたかどうかに、すべての書籍に全著者のデカルト積を返します。
ここで私はあなたが欲しいと言う結果を得るために、クエリを記述します。方法は次のとおりです。
SELECT a.stage_name, COUNT(b.id)
FROM authors a
LEFT OUTER JOIN books b ON (a.id = b.author_id)
GROUP BY a.id;
あなたはSQLを使用している場合は参加クエリを作成する方法を学ぶ必要があります。参加ループは、アプリケーションのプログラミング言語にあるものをSQLにあります。即ちそれはあなたが知る必要がある基本的なプログラミング構造です。
他のヒント
どのように使用する方法について参加ます:
SELECT authors.stage_name, count(*)
FROM authors INNER JOIN books on books.author_id = authors.id
GROUP BY authors.stage_name
所属していません StackOverflow