私は以下のビュー定義を見直しています。私はTOPで使用されていない限り、ビューの定義でどのように順序付けられていないかに関する情報を見つけることができました。このビューが意図したとおりに機能するかどうかはわかりません。このビューは、EmpployeeDupがEmpIDを重複していると仮定して、最新の従業員レコードをすべて与えることが期待されます。ビューでby by order by partitionを使用することは有効ですか
これは期待どおりに動作するようですが、SQL Serverのビュー定義で使用された場合、order byが保証されていないと私は考えることはできません。
CREATE VIEW Test AS
SELECT * FROM
(SELECT *
,ROW_NUMBER() OVER (PARTITION BY EmpID ORDER BY LastupdateDatetime DESC) as row_num
FROM EmpployeeDup) as rows
WHERE row_num = 1
;
GO
「TOP、OFFSETまたはFOR XMLも指定されていない場合」に焦点を当てていました。このビュー定義では明示的にこれらの構文を使用していないため、 – nee21
@ nee21はウィンドウ関数なので適用されません – SQLChao