with A as (
select c.PoolId,u.UserUri,m2.SessionIdTime,m2.SessionIdSeq,m2.AVUserCount,m2.MinUserJoinTime,m2.MaxUserLeaveTime,isnull(DATEDIFF(SECOND,m2.MinUserJoinTime,m2.MaxUserLeaveTime),0)as total,m2.ConfUserSeconds from (Select m.SessionIdTime, m.SessionIdSeq
From [LcsCDR].[dbo].McuJoinsAndLeaves m
Inner Join [LcsCDR].[dbo].Mcus mc
On mc.McuId=m.McuId
And mc.McuTypeId=3
Where SessionIdTime>='2018-11-01 00:00:00.000'
And SessionIdTime<'2018-11-30 23:59:59.999'
group by SessionIdTime , SessionIdSeq)m1
left join
(
Select --*
m.SessionIdTime, m.SessionIdSeq,
AVUserCount = Count(Distinct m.UserId),
MinUserJoinTime = min(m.UserJoinTime),
MaxUserLeaveTime = max(m.UserLeaveTime),
ConfUserSeconds = isnull( sum(round(datediff(SECOND, m.UserJoinTime
, m.UserLeaveTime
),2,1)),
0)
From (SELECT mc.[SessionIdTime],mc.McuId
,mc.[SessionIdSeq]
,mc.[UserId]
,mc.[UserJoinTime]
,mc.[UserLeaveTime]
FROM [LcsCDR].[dbo].[McuJoinsAndLeaves]mc
inner join [LcsCDR].[dbo].Users u on u.UserId=mc.UserId
where UserUri like '%@anonymous.invalid%' or LEN(UserUri)<40) m
Inner Join [LcsCDR].[dbo].Mcus mc
On mc.McuId=m.McuId
And mc.McuTypeId=3
Where SessionIdTime>='2018-11-01 00:00:00.000'
And SessionIdTime<'2018-11-30 23:59:59.999'
group by SessionIdTime , SessionIdSeq
)m2 on m1.SessionIdTime=m2.SessionIdTime and m1.SessionIdSeq=m2.SessionIdSeq
inner join [LcsCDR].[dbo].Conferences c on c.SessionIdTime=m1.SessionIdTime and c.SessionIdSeq=m1.SessionIdSeq
inner join [LcsCDR].[dbo].Users u on u.UserId=c.OrganizerId )
select A.UserUri as OrganizerUri, B.PoolFQDN as ConfPool, A.AVUserCount as SumUser, A.MinUserJoinTime as StartTime, A.MaxUserLeaveTime as EndTime
from A, [LcsCDR].[dbo].Pools B
where A.PoolId = B.PoolId
and A.UserUri = '[email protected]'
-- and A.AVUserCount >= 100 查询参与人数大于100人的会议