所以我有两张桌子;
加入时(ID上的OUTER JOIN)看起来像这样
现在,我想创建一个Query,它统计所有事件及其相应的Location。鉴于上面的例子,它应该是这样的;
关键是COUNT(Event)需要聚合在比COUNT(Location)更高的级别。即,Count(事件)是整个月内该事件的总计数。计数(位置)只是事件计数,分为相关位置。
我无法获得我的查询以比位置更高的级别聚合计数事件。
很高兴提供更多细节
由于
答案 0 :(得分:0)
您可以使用窗口功能来实现此目的:
select
t1.Month,
t1.Event,
t2.Location,
count (*)
over (partition by t1.Event) as EventCount,
count (*)
over (partition by t1.Event, t2.Location) as LocationCount
from Table1 t1
left join Table2 t2
on t1.Id = t2.Id
SQLFiddle: http://sqlfiddle.com/#!6/b55b3/8