First_Valueは、結果セット内の列の最初のデータの値を返します。これは、TOP 1効果と同じ単純な関数です。
最初のテストコード
DECLARE @TestData TABLE(ID INT IDENTITY) (1,1)、Department VARCHAR(20)、LastName VARCHAR(20)、Rate FLOAT)INSERT INTO @TestData(Department、LastName、Rate) 'ドキュメント管理'、 'アリフィン'、17.7885 UNION ALL SELECT 'ドキュメント管理' 、 'Norred'、16.8269 UNION ALL SELECT 'ドキュメントコントロール'、 'Kharatishvili'、16.8269 UNION ALL SELECT '情報サービス'、 'Chai'、10.25 UNION ALL SELECT '情報サービス'、 'Berge'、10.25 UNION ALL SELECT '情報Services '、' Trenary '、50.4808 UNION ALL SELECT'インフォメーションサービス '、' Conroy '、39.6635 UNION ALL SELECT'インフォメーションサービス '、' Ajenstat '、38.4615 UNION ALL SELECT'インフォメーションサービス '、' Wilson '、38.4615 UNION ALL SELECT 'Information Services'、 'Connelly'、32.4519 UNION ALL SELECT 'インフォメーションサービス'、 'Meyyappan'、32.4519 SELECT * FROM @TestData
FIRST_VALUE関数を使用しているときに、新しい列を作成し、結果セット内の最初の行のLastName値を返しますこの最初の行は、OVERのORDER BYの影響を受けます。
SQLスクリプトでPARTITIONパーティション関数が使用されている場合、FIRST_VALUEは各パーティションの最初のデータ値を返します。ここではデモを参照してください。次に、Departmentパーティションとデータセット全体を参照してください。これは2つの部分に分かれています:情報サービスと文書管理この時点で、FIRST_VALUEは2つのパーティションの最初のデータ値を返しますが、これもORDER BYキーワードの影響を受けます。
別のORDERを見てくださいBY効果の例
FIRST_VALUE関数、SECOND_VALUEを持つものもありますか? NO、そのような関数はありませんが、LAST_VALUE、関数の使い方、LAST_VALUEという別の記事を作成するつもりはありません。
zh-CN"],null,[0.93455553],zh-CN"]]]