Я хочу найти разницу между данными времени, которые находятся в одном столбце для группы того же сотрудника. Я написал запрос, как показано ниже:Найти разницу между строками одного столбца (разница между данными времени)
WITH rows AS
(
SELECT isnull(left(hhmm,2)+ ':'+ right(left(hhmm,4),2),'''') as login,
ROW_NUMBER() OVER (ORDER BY cardno) AS rn
FROM ATTN01072013_copy13_7_13
)
SELECT *--mc.login-mp.login as diff
FROM rows mc
JOIN rows mp
ON mc.rn = mp.rn - 1
Этот запрос будет возвращать данные, как это:
cardno login rn cardno login rn
E44920 09:18 1 E44920 09:46 2
E44920 09:46 2 E44920 17:09 3
E44920 17:09 3 E44920 16:57 4
E44920 16:57 4 E44920 17:34 5
E44920 17:34 5 E44920 17:53 6
E44920 17:53 6 E44920 17:56 7
E44920 17:56 7 E44920 17:57 8
E44920 17:57 8 E44920 18:00 9
Теперь я хочу, чтобы найти разницу между 1-й и 2-й раз для входа .. затем третий и четвёртый раз Войти , Как я могу это сделать, любезно предлагаю решение как можно скорее, спасибо.
который DATATYPE вы используете для столбца входа – Ahmed