stores_employees
2 つの列を持つテーブルがあるとします。
store_id, employee_id
従業員が 10 人を超える店舗を見つけるにはどうすればよいですか? そうするための最良の方法は何ですか?
HAVING
句で集計関数を使用し、GROUP BY store_id
select store_id
from stores_employees
group by store_id
having count(employee_id) > 10
デモで SQL Fiddle を参照してください
全従業員を含める場合は、次を使用できます。
select store_id, count(employee_id) TotalEmployees
from stores_employees
group by store_id
having count(employee_id) > 10
SELECT store_id, count(employee_id) FROM stores_employees GROUP BY store_id
HAVING COUNT(employee_id) > 10
store_emloyees テーブルから数が 10 を超える store_id と employee_id のインスタンスをカウントする必要があるという質問を論理的に考えてみてください。
コマンドをいじってみて、どのコマンドが望ましい結果を示しているかを確認してください。Web サイトからコピーするよりも、これが mysql を学ぶ最も効果的な方法であることがわかりました。
使用する可能性のあるキーワード:
SELECT
FROM
ORDER BY
BETWEEN