私はこれがあなたが望むものかもしれないと思います:
SELECT IsNull(EventType,'SUMMARY') as [EventType],
IsNull(EventUserId, 'TOTAL') as [EventUserId],
COUNT(EventUserID) AS [Total]
FROM dbo.vSystemEventLog
GROUP BY EventType, EventUserID With Cube
私はあなたが何を望んでいるか完全にはわかりません-サンプル出力および/またはデータが最も役立つでしょう。
ただし、クエリが
EventUserId
最初にグループ化されるように、逆にグループ化する必要があると思います。
わかりました-それで私はこのテストデータとSQLを作成しました。これがあなたの望むものだと思います。
Create Table #t
(
EventType int,
EventUserId int
)
Insert Into #t
Select 100, 18 union all Select 100, 18 union all Select 100, 18
Insert Into #t
Select 101, 16 union all Select 101, 16 union all Select 101, 16
union all Select 101, 16 union all Select 101, 16 union all Select 101, 16
Insert Into #t
Select 101, 18 union all Select 101, 18 union all Select 101, 18 union all Select 101, 18
Insert Into #t
Select 102, 18 union all Select 102, 18
Select IsNull(Convert(varchar(50), EventUserId), 'SUMMARY') As [EventUserId],
IsNull(Convert(varchar(50), EventType), 'TOTAL') as [EventType],
Count(EventUserId) as [Total]
From #t
Group By EventUserId, EventType with cube
Order by 1
drop table #t
これにより、次の出力が生成されます。
