Разница во времени между двумя разами в одной таблице - PullRequest
1 голос
/ 25 августа 2009

(обратите внимание, что я недавно видел похожий вопрос о StackOverflow, однако нигде не могу его найти - если кто-нибудь найдет его, пожалуйста, отправьте ссылку)

У меня есть таблица с полем datetime. Например:

Таблица данных

DateTime date;
int number;

Мне нужно найти разницу между датой в строке и датой в следующей строке. Я пытался с запросом:

select date as current_date, date - (select top 1 date where date > current_date from data) as time_difference from date

однако это не будет работать из-за "current_date". Есть ли способ сделать это одним запросом?

1 Ответ

3 голосов
/ 25 августа 2009
SELECT  date AS current_date, next_date - date AS difference
FROM    mytable mo
CROSS APPLY
        (
        SELECT  TOP 1 date AS next_date
        FROM    mytable mi
        WHERE   mi.date > mo.date
        ORDER BY
                date
        ) q
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...