В настоящее время я разрабатываю приложение, использующее базу данных SQL. В этой базе данных я поддерживаю таблицу под названием session, которая имеет три поля: идентификатор сеанса (int), date_created (datetimeoffset) и поле date_expired (datetimeoffset).SQL server datetimeoffset data aggregation
Я хочу сгруппировать сеансы в кластерах сеансов, чтобы минимальная дата_сшита и максимальная дата_сессии сеансов не превышали 6 часов. Кроме того, я не хочу, чтобы мои группы перекрывались, т. Е. Если сессия s1 принадлежит к группе 1, я не хочу, чтобы она также была в группе 2.
Любые идеи?
Непонятные требования: хотите ли вы сгруппировать их по длительности или сгруппировать по дате начала, дате окончания, часам или таким образом, что если один запустился в 8:00 и завершился в 8:10, а другой начался в 9:00 и закончился 9:15, а другой начался в 2:01 вечера, первые два были бы «сгруппированы вместе, а 2:01 вечера - во второй группе (в тот же день для всех)? – xQbert
Я хочу сгруппировать их по дате начала и дате окончания. Единственное ограничение должно состоять в том, что для двух сеансов в наборе их разность во времени (между датой начала и датой окончания) будет не более 6 часов. –