説明/参照: Explanation: LAGは、SQL Serverで自己結合を使用せずに、同じ結果セット内の直前の行のデータにアクセスします。 LAGは、現在の行の前にある特定の物理オフセットで行へのアクセスを提供します。 SELECTステートメントでこの分析関数を使用して、現在の行の値と前の行の値を比較します。 Order By Territoryではなく、Order By Yearを使用します。 例:次の例では、LAG関数を使用して、特定の従業員の過去の年数に対する売上割当量の差を返します。最初の行に使用可能なラグ値がないため、デフォルトのゼロ(0)が返されることに注意してください。 AdventureWorks2012を使用してください。 GO Select BusinessEntityID、YEAR(見積もり日)AS SalesYear、SalesQuota AS現在の見積もり日、LAG(SalesQuota、1,0)OVER(受注年数(QuotaDate))AS前の見積もりからSales.SalesPersonQuotaHistory WHERE BusinessEntityID = 275およびYEAR(見積もり日付)IN( '2005 '、' 2006 ');間違った答え: A、D:LEADは、SQL Server 2016で自己結合を使用せずに同じ結果セット内の後続の行からデータにアクセスします。LEADは、現在の行に続く特定の物理オフセットで行へのアクセスを提供します。 SELECTステートメントでこの分析関数を使用して、現在の行の値と次の行の値を比較します。 B:Order By Territoryではなく、Order By Yearを使用します。 参照先:https://msdn.microsoft.com/ja-jp/library/hh231256.aspx