сравнить каждое движение двух людей в sql - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть следующие атрибуты в одной таблице в улье:

PERSON_ID, DAY, ZONE, TIME, DWELL_TIME

мне нужно знать, какие человек имеет аналогичное движение в той же зоне, день, время и время пребывания другого человека в той же таблице в улье

Люди, которые одновременно перемещаются в той же зоне и остаются в этой зоне в течение аналогичной продолжительности тогда его следует рассматривать как одно и то же лицо.

По сути, я пытаюсь устранить пользователей с двумя симами, идентифицируя подобное движение.

Таблица:

table

Результат:

result

Я не уверен, как написать код для этой проблемы в улье, кто-то может помочь?

если вам нужно больше проработать, дайте мне знать

спасибо

1 Ответ

0 голосов
/ 29 апреля 2020

Вы можете создать список идентификаторов для каждого набора данных, используя:

select collect_list(ids) as all_ids, day_id, initial_time, final_time, zone_id
from t
group by day_id, initial_time, final_time, zone_id;

Это может решить проблему, которую вы хотите решить. Вы можете присоединиться к таблице, чтобы добавить столбец все идентификаторы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...