Я нашел кучу вопросов по этой теме с хорошими решениями, но ни один из них на самом деле не касается того, что делать, если данные не должны быть упорядочены определенным образом. Например, следующий запрос:
WITH MyCte AS
(
select employee_id,
RowNum = row_number() OVER ( order by employee_id )
from V_EMPLOYEE
ORDER BY Employee_ID
)
SELECT employee_id
FROM MyCte
WHERE RowNum > 0
хорошо работает, если данные должны быть упорядочены по employee_id. Но что, если у моих данных нет определенного порядка, а сами номера строк действуют как идентификатор? Моя цель - написать такой запрос (с функцией Row_Number ()
без предложения ORDER BY
):
WITH MyCte AS
(
select employee_id,
RowNum = row_number() OVER ( <PRESERVE ORIGINAL ORDER FROM DB> )
from V_EMPLOYEE
ORDER BY Employee_ID
)
SELECT employee_id
FROM MyCte
WHERE RowNum > 0
РЕДАКТИРОВАТЬ: После поиска в Google я понял, что это не действительно возможно. Могут ли некоторые предложить обходной путь для этого?