次のクエリのデータを見つける方法
元のソースの質問89
テーブル構造: 製品(メーカー、モデル、タイプ)
タスク:
製品テーブルでモデルの数が最も多いメーカーと、モデルの数が最も少ないメーカーを見つけます。出力:メーカー、モデル数
問題のヒントはGROUP BY
、、HAVING
IN
私はこれを見つけるためにさまざまな方法を試しました基本的に私が思いついたのは私が使う必要があるということですMax(COUNT(model))
結果は次のようになります
maker qty
A 7 --max
C 1 --min
私が思いついた解決策の1つは
select maker, count(ps.model) as Count from product as ps
group by ps.maker
having count(ps.model) in
(
select max(cnt) from (select count(model) as cnt from product group by maker)t
union
select min(cnt) from (select count(model) as cnt from product group by maker)t
)
他に方法はありますか?