select t1.callid, t1.segstart, t1.calling_pty
from MyTable t1
inner join MyTable t2 on t1.calling_pty = t2.calling_pty
and t1.segstart < t2.segstart
where datediff(mi, t1.segstart, t2.segstart) <= 5 --a difference of 5 minutes 59 secs. still returns 5
Обратите внимание, что, поскольку DATEDIFF
подсчитывает количество пересеченных границ даты, оно может быть несколько приблизительным при подсчете минут.Для большей точности вы можете использовать
where datediff(s, t1.segstart, t2.segstart) <= 300 --this looks at difference in seconds, so much nmore accurate