Мои данные выглядят так:
Мне нужно рассчитать последние два столбца (noofgrp
и grpsize
) No of Groups (количество Clientid) и Group Size (количество клиентов в каждой группе) в соответствии с begtim и endtime. Итак, я попробовал следующее в первой таблице Temp
GrpSize= count(clientid) over (partition by begtime,endtime) else 0 end
а во второй таблице Temp у меня есть
select
,GrpSize=sum(grpsize)
,NoofGrp=count(distinct grpsize)
From Temp1
Проблема касается даты 26 мая, begtime
и endtime
не совпадают. В Grp1
(группа 1) все клиенты начинают сеанс в 10:30 и заканчивают в 12:00 (90-минутный сеанс), кроме одного, который начинается в 11 и заканчивается в 12:00 (строка 8). Для этого клиента, поскольку его/ее endtime
такой же, как и у других, я хочу, чтобы этот клиент был в первой группе (Grp1
). Обратное верно для второй группы (Grp2
). Все клиенты begtime
это 12:30 и endtime
это 1400 но clientid=2
(строка 9) кто begtime =1230
но endtime = 1300
. Однако, поскольку этот клиент begtime
такой же, как и остальные, я хочу, чтобы этот клиент был во второй группе (grp2
). Мой раздел создает 4 группы, а не две. Какие-либо предложения?