Я работаю с временной таблицей, я не уверен, имеет ли это значение, она создается так:
CREATE TABLE #ActivityLog
(
ActivityLogID UNIQUEIDENTIFIER,
VehicleID UNIQUEIDENTIFIER,
ActivityDateTime DATETIME
)
Я пытаюсь манипулировать таблицей, чтобы у меня не былоActivityDateTime
дублируется за VehicleID
.
С помощью этого запроса я получаю свои дублированные значения.
SELECT
s.ActivityLogID, t.*
FROM
#ActivityLog s
JOIN
(SELECT
VehicleID, ActivityDateTime, COUNT(*) AS qty
FROM
#ActivityLog
GROUP BY
VehicleID, ActivityDateTime
HAVING
COUNT(*) > 1) t ON s.VehicleID = t.VehicleID
AND s.ActivityDateTime = t.ActivityDateTime
ORDER BY
t.qty DESC
Моя проблема в том, что я понятия не имею, как их перебрать, чтобывозможность добавлять 3 миллисекунды (наименьшее время обрабатывается SQL) при обнаружении дубликатов.
Поэтому, если у меня есть несколько строк, подобных приведенным ниже (я упросту uniqueID, чтобы они легче отображались)
ActivityLogID | VehicleID | ActivityDateTime
---------------+-----------------+--------------------------
1 9 2019-06-03 18:48:53.000
2 9 2019-06-03 18:48:53.000
3 9 2019-06-03 18:48:53.000
4 9 2019-06-03 18:48:53.000
5 9 2019-06-03 18:48:53.000
6 9 2019-06-03 18:48:53.000
7 9 2019-06-03 18:49:53.000
8 9 2019-06-03 18:50:53.000
9 9 2019-06-03 18:50:53.000
10 9 2019-06-03 18:51:53.000
11 9 2019-06-03 18:51:53.000
12 9 2019-06-03 18:52:53.000
Вывод должен выглядеть как
ActivityLogID | VehicleID | ActivityDateTime
---------------+-----------------+--------------------------
1 9 2019-06-03 18:48:53.000
2 9 2019-06-03 18:48:53.003
3 9 2019-06-03 18:48:53.006
4 9 2019-06-03 18:48:53.009
5 9 2019-06-03 18:48:53.012
6 9 2019-06-03 18:48:53.015
7 9 2019-06-03 18:49:53.018
8 9 2019-06-03 18:50:53.000
9 9 2019-06-03 18:50:53.003
10 9 2019-06-03 18:51:53.000
11 9 2019-06-03 18:51:53.003
12 9 2019-06-03 18:52:53.000