このばかげた構文の問題を理解しようとしています
select distinct Count(Mgr) from CarsManager
すべてのレコードを返します..サブセット数である必要があります。
このばかげた構文の問題を理解しようとしています
select distinct Count(Mgr) from CarsManager
すべてのレコードを返します..サブセット数である必要があります。
Select Mgr, Count(*)
From CarsManager
Group By Mgr
サブセット数を何にするかを指定しませんでした。あなたの例を考えると、それはMgr
列だと思いました。
探しているのが一意のマネージャーの数である場合は、次のことができます。
Select Count(Distinct Mgr)
From CarsManager
Count(*) と Count(SomeColumn) の違い
Count(*)
コメントで、との違いについて質問しましたCount(SomeCol)
。違いはパフォーマンスではなく、ロジックです。Count(*)
列に関係なく行をカウントします。SomeColの null 以外のCount(SomeCol)
値をカウントします。
COUNT(ALL 式) は、グループ内の各行の式を評価し、null 以外の値の数を返します。
この場合Count(SomeCol)
、ALL
が暗示されます。
これを一度に行うことはできません。サブクエリが必要です。
SELECT count(*) FROM (SELECT DISTINCT Mgr FROM CarsManager) as tbl1