Я выполняю следующий запрос;
CREATE TABLE #temp_c
(
row_id NUMERIC(18) IDENTITY (1,1),
value NUMERIC(18)
)
INSERT #temp_c (value)
VALUES (1), (7), (10), (1), (12), (8), (6), (3)
SELECT
row_id,
value,
SUM(value) OVER (ORDER BY row_id) total
FROM
#temp_c
DROP TABLE #temp_c
И ожидайте следующих результатов
row_id value total
--------------------------------------- --------------------------------------- ---------------------------------------
1 1 1
2 7 8
3 10 18
4 1 19
5 12 31
6 8 39
7 6 45
8 3 48
При выполнении этого кода в SQL Server 2012 вышеуказанный запрос работает как ожидалось.
При выполнении этого кода в SQL Server 2008 R2 запрос возвращает следующую ошибку
Msg 102, Level 15, State 1, Line 17
Incorrect syntax near 'order'.
Согласно этой документации Я смогу начать использовать этот запрос в 2008 году.
Обратите внимание, что синтаксис PARTITION BY работает в обеих версиях. Была ли логика ORDER BY реализована позднее?