Запрос, который вы написали, вернет самую последнюю созданную запись для OrgSeatID согласно вашему PARTITION BY
.Таким образом, вы получаете по одной строке на каждый OrgSeatID, существующий в вашей базе данных, поскольку оконная функция ROW_NUMBER()
создает раздел для каждого из них, а затем упорядочивает строки в этом разделе.
Если вы хотите самый последнийзапись всех ваших записей, действительно самый простой способ - просто:
SELECT TOP 1 OrgSeatID, CreateDate
FROM OrgSeat
ORDER BY CreateDate DESC
Эквивалент использования оконной функции, хотя и менее оптимальный, будет:
SELECT OrgSeatID, CreateDate, T.ROW
FROM (SELECT OrgSeatID, CreateDate, ROW_NUMBER() OVER(ORDER BY CreateDate DESC) AS [ROW]
FROM OrgSeat
) AS T
WHERE T.[ROW] = 1