Попробуйте это:
Select
DATEDIFF(day,a.DSPCH_CRT_DT,LAG(a.DSPCH_CRT_DT) OVER (Partition by a.[ASST_ID] Order by a.[SVC_DSPCH_ID]))
FROM
Table a
Нет, mcheck не ориентирован на многопотоковое исполнение и не должен использоваться с многопоточными приложениями. Выполнение так может представить дополнительные проблемы, так как нет никакой синхронизации между потоками. Вот ответ от Ulrich Drepper (glibc специалист по обслуживанию) на предмете несколько месяцев назад:
mcheck не работает на многопоточный код. Это не может возможно сделать. Нет никакого способа зафиксировать это с технологией, лежащей в основе mcheck.
Я должен был проверить это, прежде чем мы провели время, играя с ним. Ahh хорошо.
Вот ссылка туда, где та кавычка прибывает из (я верю):
http://sourceware.org/bugzilla/show_bug.cgi?id=6547
дефект документации glibc:
http://sourceware.org/bugzilla/show_bug.cgi?id=12751
был открыт, чтобы помочь избежать других от удара этого.
В качестве альтернативы я настоятельно рекомендую valgrind - он будет работать с многопоточными приложениями - хотя он и имитирует потоки, он сам по себе не использует потоки.