いくつかのテーブルで次のことを実行する必要があります。
- 最初に何かに基づいてグループ化し、次にグループ化する必要があります
- 他の何かに基づいて、前の結果を再度グループ化する必要があります。
単一のクエリで両方のグループ化を行う方法はありますか?
次の 2 つの方法で、目的の結果を確認する必要があります。
select *
from (
select *
from table
group by acol
)
group by bcol
select *
from table
group by acol, bcol
それらの2つを試してください、彼らは助けるはずです
"J W" が要求したコードを表示していただけると、より簡単に対応できます。クエリの構造に関する情報があまりないので、試してみましょう。あなたはこのようなことをしようとしています:
WITH FirstGroup
AS (
SELECT Color, ReorderPoint, COUNT(*) Items
FROM Production.Product
GROUP BY Color, ReorderPoint
)
SELECT Color, SUM(ReorderPoint), SUM(Items) TotalItems
FROM FirstGroup
GROUP BY Color
注: AdventureWorks データベースを使用しました