У меня есть временная таблица, которая заполняется этим запросом:
SELECT att.property, att.stayDate, att.addedTimeStamp, att.rowNumber
FROM
(
SELECT RIGHT('000' + CAST(att.property AS VARCHAR(4)),4) AS property,
CAST(att.stay_date AS DATE) AS stayDate,
CAST(added_timestamp AS DATETIME) AS addedTimeStamp,
ROW_NUMBER() OVER(PARTITION BY property, stay_date ORDER BY added_timestamp) AS rowNumber
FROM dbo.tb_rm_portal_attention_days att
WHERE att.revenue_initiative = 'Test'
) att
Что затем приводит меня к следующей таблице временных параметров:
property stayDate addedTimeStamp rowNumber
0053 2020-03-20 2019-03-04 17:10:32.837 1
0053 2020-03-20 2019-03-05 17:10:29.480 2
0053 2020-03-20 2019-03-06 17:10:25.940 3
0053 2020-03-20 2019-03-07 17:10:21.930 4
0100 2020-03-25 2019-03-04 17:10:32.837 1
0100 2020-03-25 2019-03-05 17:10:29.480 2
0100 2020-03-25 2019-03-06 17:10:25.940 3
0100 2020-03-25 2019-03-07 17:10:21.930 4
Отсюда я хотел бы иметь property
, stayDate
, addedTimeStamp
, а затем следующий addedTimeStamp
в группе, и если это максимум, просто вернуть NULL или что-то еще ... не конечно, если это имеет смысл ...
Какова моя конечная цель, по сути, получить из этой временной таблицы следующее:
property stayDate firstTimeStamp secondTimeStamp
0053 2020-03-20 2019-03-04 17:10:32.837 2019-03-05 17:10:29.480
0053 2020-03-20 2019-03-05 17:10:29.480 2019-03-06 17:10:25.940
0053 2020-03-20 2019-03-06 17:10:25.940 2019-03-07 17:10:21.930
0053 2020-03-20 2019-03-06 17:10:25.940 NULL
0100 2020-03-25 2019-03-04 17:10:32.837 2019-03-05 17:10:29.480
0100 2020-03-25 2019-03-05 17:10:29.480 2019-03-06 17:10:25.940
0100 2020-03-25 2019-03-06 17:10:25.940 2019-03-07 17:10:21.930
0100 2020-03-25 2019-03-06 17:10:25.940 NULL