タイトルと著者カラムを持つMySQLデータベースに書籍のテーブルがあります。私はテーブルにX本以上の書籍を持っている著者がいるすべての本を選択する必要があります。ここでカラム値のX個以上のエントリがあるすべての行を取得
は、所望の出力の例です:
| Author | Title |
|---------------|----------------------|
| Dan Brown | Angels and Demons |
| Dan Brown | The Da Vinci Code |
| Robert Ludlum | The Bourne Identity |
| Robert Ludlum | The Bourne Supremacy |
私は著者ごとに一冊の本で、簡単なグループを使用して、条件を持つ得ることができます。
SELECT * FROM books
GROUP BY author
HAVING count(author) > 1
ORDER BY author;
次のような出力が得られます。
を| Author | Title |
|---------------|----------------------|
| Dan Brown | Angels and Demons |
| Robert Ludlum | The Bourne Identity |
著者数がX本以上ある書籍のリストを取得するにはどうすればよいですか?
これは大量のデータでは非常に遅いです。同じ結果を得るためのより速い方法がありますか? –
著者に索引がありますか? – kjones
私はしませんでした。インデックス作成者はそれを大幅に高速化しました。ありがとうございました。 –