0

このばかげた構文の問題を理解しようとしています

select distinct Count(Mgr) from CarsManager

すべてのレコードを返します..サブセット数である必要があります。

4

2 に答える 2

1
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 (Transact-SQL)

COUNT(ALL 式) は、グループ内の各行の式を評価し、null 以外の値の数を返します。

この場合Count(SomeCol)ALLが暗示されます。

于 2012-05-30T03:02:28.407 に答える
0

これを一度に行うことはできません。サブクエリが必要です。

SELECT count(*) FROM (SELECT DISTINCT Mgr FROM CarsManager) as tbl1
于 2012-05-30T03:02:08.603 に答える