Рассчитать количество групп и размер группы с несколькими критериями

Мои данные выглядят так:

введите здесь описание изображения

Мне нужно рассчитать последние два столбца (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 группы, а не две. Какие-либо предложения?


person Helal Mobasher    schedule 15.06.2015    source источник


Ответы (1)


person    schedule
comment
Если это соответствует вашим ожиданиям, оцените и примите ответ - person sam; 30.06.2015