У меня есть таблица, которая имеет следующую схему:
ID | FirstName | Surname | TransmissionID | CaptureDateTime
1 | Billy | Goat | ABCDEF | 2018-09-20 13:45:01.098
2 | Jonny | Cash | ABCDEF | 2018-09-20 13:45.01.108
3 | Sally | Sue | ABCDEF | 2018-09-20 13:45:01.298
4 | Jermaine | Cole | PQRSTU | 2018-09-20 13:45:01.398
5 | Mike | Smith | PQRSTU | 2018-09-20 13:45:01.498
Есть более 70 000 записей, и они хранят журналы передач в веб-сервис.Что я хотел бы знать, так это как мне написать сценарий, который бы выбирал отдельные значения TransmissionID
, а также отображал бы временной интервал между самой ранней CaptureDateTime
записью и самой последней записью?По сути, я хотел бы посмотреть, какова скорость записи и чтения и записи веб-службы.
Возможно ли это сделать в одном выражении SELECT
или мне нужно просто создать хранимую процедуру илисообщить в коде?Я не знаю, с чего начать, кроме SELECT DISTINCT TransmissionID
для такого рода запроса.
Вот что у меня есть (я застрял в расчете времени)
SELECT DISTINCT [TransmissionID],
COUNT(*) as 'Number of records'
FROM [log_table]
GROUP BY [TransmissionID]
HAVING COUNT(*) > 1
Не уверен, как получить разницу между первой и последней записью с одинаковым TransmissionID
Я хотел бы получить набор результатов, например:
TransmissionID | TimeToCompletion | Number of records |
ABCDEF | 2.001 | 5000 |