У меня есть база данных PostgreSQL, в которой содержатся билеты на трафик, написанные несколькими юрисдикциями.
В некоторых юрисдикциях не указывается, написано ли несколько билетов на одной остановке трафика.Однако это можно сделать, проанализировав другие области.Рассмотрим эти данные:
ticket_id timestamp drivers_license
----------------------------------------------
1 2008-08-07 01:51:00 11111111
2 2008-08-07 01:51:00 11111111
3 2008-08-07 02:02:00 22222222
4 2008-08-07 02:25:00 33333333
5 2008-08-07 04:23:00 44444444
6 2008-08-07 04:23:00 55555555
7 2008-08-07 04:23:00 44444444
Могу сделать вывод, что:
- Билеты 1 и 2 были записаны в одной остановке трафика, поскольку они имеют общие номера водительских прав и метки времени.
- То же самое для 5 и 7, но обратите внимание, как билет 6 между ними.Возможно, в это же время кто-то другой писал офицер, или операторы ввода данных вводили данные не по порядку.
Я хотел бы добавить еще один столбец с уникальным идентификатором для каждой остановки трафика.Он не будет первичным ключом для таблицы, поскольку он будет иметь повторяющиеся значения.Например:
ticket_id timestamp drivers_license stop_id
--------------------------------------------------------
1 2008-08-07 01:51:00 11111111 1
2 2008-08-07 01:51:00 11111111 1
3 2008-08-07 02:02:00 22222222 2
4 2008-08-07 02:25:00 33333333 3
5 2008-08-07 04:23:00 44444444 4
6 2008-08-07 04:23:00 55555555 5
7 2008-08-07 04:23:00 44444444 4
Я могу подумать о вычислительно-жадных алгоритмических способах сделать это с помощью C #, но существует ли эффективный SQL-запрос, который может работать?